Почему не экспортирует переменную работать в следующем случае:Почему не экспортируют работает с Баш скрипт
В следующем примере я экспортировать переменную PARAM и установите сон 1000 в секунду для запуска сценарий как процесс на заднем плане.
#!/bin/bash
export PARAM="I AM A REAL VALUE"
sleep 1000
поэтому я выполнить сценарий как процесс, как:
/tmp/example.bash &
Теперь скрипт запускается как процесс (я проверил его с ps -ef
) и из консоли Linux Я хочу, чтобы напечатать $PARAM
как следующие
echo $PARAM
, но не имеет значения из переменной PARAM.
Почему? Сценарий export
не экспортирует значение при запуске скриптового процесса.
потому что ваш скрипт порождает новую дочернюю оболочку, а затем вы возвращаетесь к родительской оболочке и проверяете переменную. – SMA
Выполняется сценарий под подоболочкой. subshell не может изменить родительскую оболочку (не без халата по крайней мере.) Вам нужно [источник] (http://askubuntu.com/questions/107969/what-is-the-difference-between-source-xx-and- x-in-bash) это. – anishsane
Итак, каков способ печати vars с консоли? или из другого сценария – maihabunash