Я хотел сделать что-то простое в моем сценарии:
set_dryrun()
{
BEGIN='cat << EOF'
END='EOF'
}
[ "$1" == "-dryrun" ] && set_dryrun
${BEGIN}
ls -l
${END}
Так что, если я запущу его с параметром -dryrun
, команды между ${BEGIN}
и ${END}
будут просто напечатаны, но не будут выполнены.
Все идет хорошо, если я запускаю без флага -dryrun
:
$ ./dryrun_opt
-rwxrwxr-x 1 arantesj arantesj 160 jan 25 17:15 dryrun_opt
С -dryrun
, однако, я вижу:
$ ./dryrun_opt -dryrun
cat: '<<': No such file or directory
cat: EOF: No such file or directory
-rwxrwxr-x 1 arantesj arantesj 160 jan 25 17:16 dryrun_opt
./dryrun_opt: line 14: EOF: command not found
Что ж... Я не заменяю (расширяю?) мой наследственный правильно я знаю, но как мне быть, если это возможно?
Заранее спасибо.