Для більш складних послідовностей команд слід розглянути можливість використання cat
команди тут . Основний формат -
command > file << END_TEXT
some text here
more text here
END_TEXT
Існує дві тонко різні поведінки залежно від того, належить чи цитується ярлик END_TEXT:
котировка без котирування : вміст записується після звичайного розширення оболонки
цитується мітка : вміст документа тут обробляється буквально, без звичних розширень оболонок
Наприклад, розглянемо наступний сценарій
#!/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
Результати є
$ cat file1
do some commands on "VALUE 1"
and/or "VALUE 2"
і
$ cat file2
do some commands on "$var1"
and/or "$var2"
Якщо ви виводите команди оболонки зі свого скрипту, ви, мабуть, хочете цитованої форми.