Когда вы запускаете скрипт, вы создаете подоболочку, в которой установлена переменная. После завершения выполнения скрипта переменная уничтожается. Если вы хотите, чтобы это было в текущей оболочке, выполните скрипт следующим образом:
../test.sh
может это поможет Как изменить текстовый редактор по умолчанию в Ranger?
Что происходит, когда вы вызываете 'vim' непосредственно из оболочки?