Когда вы выполняете свой скрипт, он запускается в другой оболочке.
Там вы меняете локальный каталог, но когда он закончен, вы возвращаетесь в исходный каталог.
Вы можете сделать псевдоним или функцию (если вам нужно передать какой-то параметр).
alias ns3='cd ns3/ns3-allinone-3.19/ns-3.19'
это должно работать для вас. Положить в свой ~/.bash_aliases если у тебя есть. Это скрытые файлы (начинается с . и это в вашем домашнем каталоге ~ ). Если нет, вы можете добавить source ~/.alias как последняя строка вашего .bashrc и запишите все ваши псевдонимы в этом файле. Когда вы будете работать с другой машиной, вы всегда можете скопировать .alias и добавьте одну строку в ваш новый .bashrc,
Функция
Hello() { echo "Hello " $1 " here I am for you" ; }
Из подсказки пишешь Hello Adriano и оболочка ответит Hello Adriano here I am for you, $1 для 1-го параметра $2 для второго ...