Dưới đây là một số cách khác để tạo tệp nhiều dòng bằng echo
lệnh:
echo "first line" > foo
echo "second line" >> foo
echo "third line" >> foo
trong đó các lệnh thứ hai và thứ ba sử dụng >>
toán tử chuyển hướng, điều này làm cho đầu ra của lệnh được nối (thêm) vào tệp (điểm này đã tồn tại, tại thời điểm này).
Hoặc là
(echo "first line"; echo "second line"; echo "third line") > foo
trong đó các dấu ngoặc đơn nhóm các echo
lệnh thành một quy trình con, nó trông và hoạt động giống như bất kỳ chương trình đơn lẻ nào tạo ra nhiều dòng ( ls
ví dụ như , chẳng hạn).
Một biến thể tinh tế ở trên là
{ echo "first line"; echo "second line"; echo "third line";} > foo
Điều này hiệu quả hơn một chút so với câu trả lời thứ hai ở chỗ nó không tạo ra một quy trình phụ. Tuy nhiên, cú pháp hơi phức tạp hơn: lưu ý rằng bạn phải có khoảng trắng sau {
dấu chấm phẩy trước dấu chấm phẩy }
.
Xem các toán tử điều khiển và chuyển hướng của shell là gì? để biết thêm thông tin.