Я написав наступний сценарій, щоб встановити деякі змінні середовища, коли це необхідно.
#!/bin/sh
export BASE=/home/develop/trees
echo $BASE
export PATH=$PATH:$BASE
echo $PATH
Нижче команди та результатів, які я бачу на своєму терміналі: сценарій працює, але змінні не встановлюються в кінці.
~$: ./script.sh
/home/develop/trees
/bin:......:/home/develop/trees
~$: echo $BASE
~$:
Що не так? Заздалегідь спасибі. Мирко
export
передавати змінні в допоміжні оболонки, субшалл - це копія вашої поточної оболонки, включаючи змінні та функції і т.д. По-друге,.
це команда POSIX для пошуку джерел. Bash додаєsource
для нього більш читабельний синонім, але ви не можете розраховувати на те, що він доступний у ш. Нарешті,. ./script
замість того,. script
якщо ви хочете уникати сюрпризів. mywiki.wooledge.org/BashFAQ/060