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