Установить переменные в скрипте 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
Другие вопросы по тегам