Вы изменяете только рабочий каталог для копии оболочки, в которой выполняется сценарий, в качестве интерпретатора, а не исходную программу оболочки, из которой запущен сценарий.
Для оболочки, похожей на bash, для запуска последовательности команд, которые работают в сеансе интерактивной оболочки, вы можете определить их как функцию оболочки.
например. введите следующий
up() { LIMIT=$1; P=$PWD; for ((i=1; i <= LIMIT; i++)); do P=$P/..; done; cd $P; }
, и вы определите команду up , которая работает так, как вы хотели.
Вы можете поместить это определение функции в файл, который создается при входе в систему, такой как .bashrc, для удобного определения его при входе в систему.