Установить переменные в скрипте bash
test.sh содержит:
A=$1
B=$2
Я устанавливаю test.sh для chmod 777
Я запустил скрипт с 2 параметрами:
./test.sh first last
Затем я проверил это, набрав:
echo "FirstVar: $A SecondVar: $B"
Результат:
"FirstVar: SecondVar: "
Что я сделал не так?
1 ответ
Когда вы запускаете свой скрипт так:
./test.sh whatever
Bash запускает другой экземпляр оболочки, который интерпретирует команду в вашем скрипте. Если вы хотите установить переменные в текущей оболочке, вы должны использовать source
команда или точка (.
). В этом случае команды в сценарии будут выполняться непосредственно в текущей оболочке.
source test.sh
или просто
. test.sh