MacOS – How to fix the terminal when editing the PATH in .bash_profile has the startup hang and I get no prompt

bashcommand linemacospathterminal

I am new to the command line and clearly messed up my setup.

  • macOS High Sierra(10.13.6)
  • Trying to set up Python and VScode.

My path variable is what I believe is wrong, but Idon't know exactly how to get a shell and fix things.

It is now showing the user name when i go into terminal. After trying everything i tried to follow. https://shellzero.wordpress.com/tag/reset-path-on-mac/
My Terminal now looks like thisTerminal

My bash profile currently looks like this when i enter open .bash_profile in new command on terminalbash_profile text file

according to the suggestion of the article mentioned above, after entering export PATH=/usr/bin:/usr/sbin:/bin:/sbin and save the text file by command+S
I tried to execute source ~/.bash_profile in new command in terminal and the result was bash_profile after source command

After that i also run the command echo $PATH. and the result was this :bash_profile after echo $PATH. Command

I have no idea what i did. And what i need to do to fix the problem. Any help will be truly appreciated.

Best Answer

OK - no worries. You did in fact mess things up, but here's an easy way to fix things.

  • Open TextEdit (or whatever editor you like graphically on the Mac)
  • Open a file and go to your home folder (click or press Command Shift G and type ~ and return)
  • Show hidden files (if needed) - Command + Shift + .
  • Open .bash_profile

Delete everything or comment out anything that contains PATH= and save the file (you can save as to save it to your Desktop if you want to fix it up rather than start new).

Then open a new terminal window to check your work. If it works, close out the broken sessions and make sure you incorporate the old path when you add things:

This is safe:

export PATH="/usr/local/sbin:$PATH:/path/to/whatever/bin"

It's safe since the old $PATH is included on the right of the =

What isn't safe is when

export PATH="whatever"

All the other parts of the path are now gone, with only whatever left and the last = wins, so your path is missing very important items instead of adding things to the default path, you broke it temporarily. No worries, this is a phase of passage - everyone needs to break their shell dot files to learn. Welcome to the club.