Позвольте мне включить мой телепатический режим.Наиболее вероятная причина вашей проблемы заключается в том, что вы назначаете переменную в сценарии и ожидаете, что она появится в вашей оболочке, когда вы проверяете ее.Однако, когда скрипт запускается оболочкой, он создает вложенную оболочку, поэтому все объявленные там переменные не отображаются в среде родительской оболочки.Если вы хотите экспортировать переменную из сценария, вы должны явно указать bash запустить ее в той же оболочке.Хорошо, слишком много слов, вот пример:
#!/bin/bash
FOO=bar
Когда вы запустите этот скрипт, переменная FOO не появится в вашей оболочке, даже если вы используете "export":
$ cat test.sh
#!/bin/bash
FOO=bar
$ ./test.sh
$ echo $FOO
$
Но если вы запустите его с помощью команды «source», он будет работать:
$ source ./test.sh
$ echo $FOO
bar
$
Надеюсь, это поможет:)