Đối với các chuỗi lệnh phức tạp hơn, bạn nên xem xét sử dụng cat
lệnh với tài liệu ở đây . Định dạng cơ bản là
command > file << END_TEXT
some text here
more text here
END_TEXT
Có hai hành vi khác nhau tùy thuộc vào việc nhãn END_TEXT được trích dẫn hay không trích dẫn:
nhãn không trích dẫn : nội dung được viết sau khi mở rộng vỏ thông thường
nhãn được trích dẫn : nội dung của tài liệu ở đây được xử lý theo nghĩa đen, không có sự mở rộng vỏ thông thường
Ví dụ, hãy xem xét đoạn script sau
#!/bin/bash
var1="VALUE 1"
var2="VALUE 2"
cat > file1 << EOF1
do some commands on "$var1"
and/or "$var2"
EOF1
cat > file2 << "EOF2"
do some commands on "$var1"
and/or "$var2"
EOF2
Kết quả là
$ cat file1
do some commands on "VALUE 1"
and/or "VALUE 2"
và
$ cat file2
do some commands on "$var1"
and/or "$var2"
Nếu bạn xuất các lệnh shell từ tập lệnh của mình, bạn có thể muốn biểu mẫu được trích dẫn.