Bash - запись определения функции в скрипт после первого вызова (как проблема GOTO/перехода)

Я в основном хочу написать bash-скрипт, в котором я сгенерирую пару больших файлов, используя heredoc; а затем выполню несколько команд, используя эти файлы.

Понятно, что (очевидно) файлы heredoc должны быть созданы до запуска команд - однако, что меня раздражает в этой схеме, так это то, что я должен также написать код утверждений 'heredoc', прежде чем я напишу код команды.

Поэтому я решил написать операторы heredoc в функции - но и здесь та же проблема: Глава 24. Функции гласит:

Определение функции должно предшествовать первому обращению к ней. Нет никакого метода "объявления" функции, как, например, в C.

Действительно, это так:

$ cat > test.sh <

Затем я подумал, что, возможно, я мог бы разместить некоторые метки и прыгать вокруг с GOTO, как в (псевдокоде):

$ cat > test.sh <

... но оказалось, что BASH goto тоже не существует.

Моя единственная цель такова - я хочу сначала написать "ядро" файла сценария, которое состоит из пяти-шести команд; и только затем написать heredoc утверждения в файле сценария (который может иметь сотни строк); наличие heredoc сначала действительно затрудняет чтение кода для меня. Есть ли какой-нибудь способ добиться этого?

8
задан JasonMArcher 12 May 2015 в 17:05
поделиться