How do I edit $PATH (.bash_profile) on OS X?

BashMacosTerminalPathOsx Yosemite

Bash Problem Overview


I am trying to edit an entry to PATH, as I did something wrong.

I am using Mac OS X v10.10.3 (Yosemite)

I have tried:

touch ~/.bash_profile; open ~/.bash_profile

But the file editor opens with nothing inside.

My problem:

I am trying to install ANDROID_HOME to my PATH

I misspelled it, but when I closed the terminal and went back it was gone, so I tried again:

> export ANDROID_HOME=//android-sdk-macosx > export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

This time, I typed the command correctly but, when I closed the terminal, my settings disappeared again.

How do I execute my desired settings?

If I was to edit bash.profile, how would I enter the above code?

Bash Solutions


Solution 1 - Bash

You have to open that file with a text editor and then save it.

touch ~/.bash_profile; open ~/.bash_profile

It will open the file with TextEdit, paste your things and then save it. If you open it again you'll find your edits.

You can use other editors:

nano ~/.bash_profile
mate ~/.bash_profile
vim ~/.bash_profile

But if you don't know how to use them, it's easier to use the open approach.


Alternatively, you can rely on pbpaste. Copy

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

in the system clipboard and then in a shell run

pbpaste > ~/.bash_profile

Or alternatively you can also use cat

cat > ~/.bash_profile

(now cat waits for input: paste the two export definitions and then hit Ctrl + D).

Solution 2 - Bash

A bit more detailed for beginners:


Before you begin with .bash_profile on Mac, please be aware that since macOS Catalina zsh (z shell) is the default shell. Therefore stuff we used to put in the .bash_profile now belongs to the .zshenv or the .zshrc file.

.zshenv .zshrc ? (Found here)

.zshenv: invocations of the shell. Often contains exported variables that should be available to other programs. For example, $PATH.

.zshrc: Sourced in interactive shells only. It should contain commands to set up aliases, functions, options, key bindings, etc.


STEP 1

Make sure the .bash_profile file is existing? (or the .zshenv of course) Remember that the .bash_profile file isn't there by default. You have to create it on your own.

Go into your user folder in finder. The .bash_profile file should be findable there. -> HD/Users/[USERNAME]

Remember: Files with a point at the beginning '.' are hidden by default.

To show hidden files in Mac OS Finder:

Press: Command + Shift + .

If it's not existing, you have to create .bash_profile on your own.

Open terminal app and switch into user folder with simple command:

cd

If it's not existing, use this command to create the file:

touch .bash_profile

STEP 2

If you can't memorise the nerdy commands for save and close in vim, nano etc (the way recommended above) the easiest way to edit is to open .bash_profile (or the .zshenv) file in your favored code editor (Sublime, Visual Studio Code, etc.).

Finder -> User folder. Right click -> open with : Visual Studio Code (or other code editor). Or drag it on app in dock.

… and there you can edit it, pass export commands in new lines.

Solution 3 - Bash

If you are using macOS v10.15 (Catalina), you need to update the .zshrc file instead of file .bash_profile or .profile.

Solution 4 - Bash

For Mac OS, step by step:

  1. First of all, open a terminal and write it: cd ~/

  2. Create your Bash file: touch .bash_profile

    You created your ".bash_profile" file, but if you would like to edit it, you should write it;

  3. Edit your Bash profile: open -e .bash_profile

    After that you can save from the top-left corner of screen: FileSave

Solution 5 - Bash

For beginners: To create your .bash_profile file in your home directory on macOS, run:

nano ~/.bash_profile

Then you can paste in the following:

https://gist.github.com/mocon/0baf15e62163a07cb957888559d1b054

As you can see, it includes some example aliases and an environment variable at the bottom.

One you're done making your changes, follow the instructions at the bottom of the Nano editor window to WriteOut (Ctrl + O) and Exit (Ctrl + X). Then quit your Terminal and reopen it, and you will be able to use your newly defined aliases and environment variables.

Solution 6 - Bash

Set the path JAVA_HOME and ANDROID_HOME. You have to open terminal and enter the below cmd.

touch ~/.bash_profile; open ~/.bash_profile

After that, paste the below paths in the base profile file and save it:

export ANDROID_HOME=/Users/<username>/Library/Android/sdk 
export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home

Solution 7 - Bash

Just type open ~/.bash_profile on terminal, you can edit it.

Solution 8 - Bash

Determine which shell you're using by typing echo $SHELL in Terminal.

Then open/create correct rc file. For Bash it's $HOME/.bash_profile or $HOME/.bashrc. For Z shell it's $HOME/.zshrc.

Add this line to the file end:

export PATH="$PATH:/your/new/path"

To verify, refresh variables by restarting Terminal or typing source $HOME/.<rc file> and then do echo $PATH

Solution 9 - Bash

Mac OS X doesn't store the path in file .bash_profile, but file .profile, since Mac OS X is a branch of the *BSD family. You should be able to see the export blah blah blah in file .profile once you do cat .profile on your terminal.

Solution 10 - Bash

The simplest answer is:

Step 1: Fire up Terminal.app

Step 2: Type nano .bash_profile – This command will open the .bash_profile document (or create it if it doesn’t already exist) in the easiest-to-use text editor in Terminal – Nano.

Step 3: Now you can make a simple change to the file. Paste these lines of code to change your Terminal prompt.

export PS1="___________________    | \w @ \h (\u) \n| => "

export PS2="| => "

Step 4: Now save your changes by typing Ctrl + O. Hit Return to save. Then exit Nano by typing Ctrl + X

Step 5: Now we need to *activate your changes. Type source .bash_profile and watch your prompt change.

That's it! Enjoy!

Solution 11 - Bash

For me, my macOS is macOS v10.14 (Mojave). And I was facing the same issue for three days and in the end, I just wrote the correct path in the .bash_profile file which was like this:

export PATH=/Users/[YOURNAME]/development/flutter/bin:$PATH
  • Note 1: if you don't have filr .bash_profile, create one and write the line above
  • Note 2: zip your downloaded Flutter SDK in [home]/development if you copy and paste this path

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionThiagoView Question on Stackoverflow
Solution 1 - BashAlessandro VendruscoloView Answer on Stackoverflow
Solution 2 - BashHerr_HansenView Answer on Stackoverflow
Solution 3 - BashMarcus GallegosView Answer on Stackoverflow
Solution 4 - BashNamelessView Answer on Stackoverflow
Solution 5 - BashMyles O'ConnorView Answer on Stackoverflow
Solution 6 - BashBheem SinghView Answer on Stackoverflow
Solution 7 - BashMartinho MussambaView Answer on Stackoverflow
Solution 8 - BashPavelView Answer on Stackoverflow
Solution 9 - Bashneemo810707View Answer on Stackoverflow
Solution 10 - BashSoban ArshadView Answer on Stackoverflow
Solution 11 - BashALI HUSSEINView Answer on Stackoverflow