Я хочу установить переменную окружения относительно местоположения скрипта. Я могу легко найти и установить его на время работы скрипта (test.sh):
#!/bin/bash
export MY_VARIABLE=$(dirname $0)
echo MY_VARIABLE is : $MY_VARIABLE
Вызов:
./test.sh
Выход:
MY_VARIABLE is : .
Если я хочу использовать переменную в других сценариях, мне нужно установить ее с помощью команды source. Это, конечно, не работает, потому что я сейчас вызываю не скрипт test.sh, а команду source.
source test.sh
Выход:
dirname: illegal option -- b
usage: dirname path
MY_VARIABLE is :
Есть ли способ определить переменную среды в сценарии, которую затем можно использовать с исходной командой?