Chuyển hướng trong các vỏ kiểu Bourne / POSIX như bash , dash, ksh, v.v.
xử lý theo thứ tự chúng xuất hiện, từ trái sang phải
> x
mở và cắt tệp x
, và đặt bộ mô tả tệp ghi vào x
đầu ra tiêu chuẩn. Lệnh của bạn:
cat file1 > file2 > file3
Sẽ:
- Mở và cắt ngắn
file2
- Đặt đầu ra tiêu chuẩn để ghi vào bộ mô tả tệp đó
- Mở và cắt ngắn
file3
- Đặt đầu ra tiêu chuẩn để ghi vào bộ mô tả tệp đó
- Chạy
cat file1
Kết quả cuối cùng là điểm đầu ra tiêu chuẩn vào file3
thời điểm cat
chạy. Cả hai file2
và file3
có nội dung hiện tại của chúng bị xóa, và file3
nhận đầu ra của cat
(nội dung của file1
) được ghi vào đó.
Nếu bạn muốn chia đầu ra thành nhiều luồng được ghi thành các tệp riêng biệt, bạn có thể sử dụngtee
:
cat file1 | tee file2 > file3
Các shell khác ( đáng chú ýzsh
) hoạt động khác nhau và lệnh của bạn sẽ có kết quả mà bạn có thể mong đợi: cả hai file2
và file3
sẽ có nội dung file1
.
Lưu ý rằng cat
không cần thiết ở đây; <
chuyển hướng đầu vào cũng sẽ làm công việc này.