Giả sử tôi có một tập lệnh mà tôi muốn chuyển sang lệnh khác hoặc chuyển hướng đến một tệp (chuyển sang sh
ví dụ). Giả sử rằng tôi đang sử dụng bash.
Tôi có thể làm điều đó bằng cách sử dụng echo
:
echo "touch somefile
echo foo > somefile" | sh
Tôi cũng có thể làm gần như điều tương tự bằng cách sử dụng cat
:
cat << EOF
touch somefile
echo foo > somefile
EOF
Nhưng nếu tôi thay thế "EOF" bằng "EOF | sh" thì nó chỉ nghĩ rằng đó là một phần của di truyền.
Làm thế nào tôi có thể làm cho nó để cat
xuất văn bản từ stdin, và sau đó dẫn nó đến một vị trí tùy ý?
echo
- tôi đã tự hỏi những gì tương đương với điều đó sẽ được sử dụng cat
.
sh
tập lệnh từ nhiều chuỗi và chuyển trực tiếp tới sh
. Tôi thấy Q của bạn đang tìm cách chuyển đầu ra văn bản của nhiều lệnh, bao gồm cả tài liệu TẠI ĐÂY, trực tiếp đến một lệnh. Đó là những gì ví dụ thứ 2 của Ash làm.
touch
là trừ khi có, chính xác những gì bạn muốn? chỉ đọc tệp đầu vào và chuyển hướng đến tệp khác với thiết bị xuất chuẩn?