В вашем случае test
запускается в отдельной оболочке, дочерней по отношению к вашей оболочке. Ребенок никогда не может изменить среду родителя. Поэтому, когда ребенок выходит, var
теряется.
Если вы хотите запустить скрипт в текущей оболочке, попробуйте:
source ./test
Кроме того, обычно плохая идея называть ваши сценарии "тестовыми". Многие объединения имеют /usr/bin/test
.