Как установить переменные окружения в скрипте fish shell - PullRequest
0 голосов
/ 06 октября 2018

В моем скрипте fish shell 'hoge.fish` у меня есть код для установки envs.

#!/usr/local/bin/fish
set -x HOGE "hello"

, но после выполнения этого скрипта env не устанавливается правильно и ничего не выводит.

./hoge.fish
echo $HOGE

Я пробовал этот код, но ни один из них не работал.

set -gx HOGE "hello"
set -gU HOGE "hello"

как я могу это исправить?

  • ОС: macOS High Sierra 10.13.6
  • рыбная версия: 2.7.1
  • iTerm2: 3.2.0

1 Ответ

0 голосов
/ 06 октября 2018

Когда вы запустили скрипт, он, вероятно, установил переменную среды правильно, но только в процессе, который был создан при запуске скрипта .... не в родительском сеансе, из которого вы запустили скрипт!При выходе из сценария процесс и его среда были уничтожены.

Если вы хотите изменить переменную среды в текущей среде, в зависимости от того, какую интерактивную оболочку вы используете, вы можете использовать такую ​​команду, как source hoge.fish, который будет выполнять команды в текущем сеансе, а не в подпроцессе, поэтому изменения переменных среды сохранятся.

...