Setting path in bash_profile
There's a difference between appending an existing path to the front or the end of the $PATH
environment variable. The way bash resolves execution paths is by starting from the front of the list. That means if you have these two directories in your path:
PATH="/dir1/bin:/dir2/bin"
And they both have the executable test.sh
in it, then when you run test.sh
, it'll execute the one in /dir1/bin/test.sh
since that directory appears first in the path.
Additionally, ${PATH}
is the same as $PATH
.
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
is simply adding /Library/Frameworks/Python.framework/Versions/2.7/bin
to the front of the path and
PATH=$PATH:/usr/local/mysql/bin
is simply adding /usr/local/mysql/bin
to the end of the path.
So how do you do both in one line? Something like this:
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}:/usr/local/mysql/bin"
![Mars](https://i.stack.imgur.com/8D9CL.jpg?s=256&g=1)
Comments
-
Mars about 2 years
Why does setting a
PATH
require the:${PATH}
at the end?PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
When I append a path to this I would do
PATH=$PATH:...
How do I append a
PATH
without going to a new line. That is, how would I append aPATH
to the originalPATH
statement.If I wanted to put the following all in the first line, for instance. How does this interact with the
:${PATH}
part?PATH=$PATH:/usr/local/mysql/bin