Обновление
Обычный шаблон:
#!/bin/bash
function main()
{
prepare
do_step1 args ...
do_step2 args ...
do_step3 args ...
do_step4 args ...
exit 0
}
function prepare() { .... }
function do_step1() { ....}
function do_step2() { ....}
function do_step3() { ....}
function do_step4() { ....}
// entry point
main
Пока определения (под) функций предшествуют вызову, они будут найдены красиво.
Дословные ответы:
Нет, для этого вам понадобятся функции, или вы наберете:
export dynamic="interesting"
function getsomething() { echo -n "$dynamic"; }
export dynamic="stuff"
echo "$(getsomething)"
будет отображать "материал", а не "интересно""
Подход eval:
export param=value1
export dependent='$param' # (note the SINGLE quotes)
export param=value2
eval "echo $dependent"
напечатает" value2 ", а не" value1 "
Косметика:
Если этопросто не трогайте исходный файл включения:
source donot_touch.sh