Я хотел сделать что-то простое в моем сценарии:
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
Ну ... я не правильно заменяю (расширяю?) Свой наследственный синдром, я знаю, но как мне быть, если это возможно?
Заранее спасибо.