How to run ‘cd’ in shell script and stay there after script finishes?
You need to source the file as: . myfile.sh or source myfile.sh Without sourcing the changes will happen in the sub-shell and not in the parent shell which is invoking the script. But when you source a file the lines in the file are executed as if they were typed at the command line.