Это нормально. "Текущий" или "рабочий" каталог является параметром для процесса, и процесс может изменить только свой рабочий каталог. Автономные сценарии выполняются как отдельный процесс оболочки и не могут влиять на родительскую оболочку (фактически родитель не всегда может быть оболочкой).
Вам нужно будет использовать функции, встроенные в вашу оболочку, такие как:
функции оболочки:
mycd() {
cd /media/hard/drive/partitionX/;
pwd;
}
псевдонимы оболочки:
alias mycd='cd /media/hard/drive/partitionX; pwd'
"источник" сценария вместо его выполнения:
. mycd.sh
Если вашей главной целью является создание ярлыков для определенных каталогов, вы также можете использовать:
символические ссылки в более удобном месте:
ln -s /media/hard/drive/partitionX ~/partX
cd ~/partX
переменные ($ mydir):
mydir=/media/hard/drive
cd $mydir
функция $ CDPATH:
CDPATH=".:/media/hard/drive"
cd partitionX