Настройка пути в профиле bash

почему задание PATH требуют :${PATH} в конце?

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"

когда я добавляю путь к этому, я бы сделал

PATH=$PATH:...

как добавить PATH не переходя на новую строку. То есть, как бы я добавил PATH в оригинале PATH заявление.

если бы я хотел, например, поместить все в первую строку. Как это взаимодействует с :${PATH} часть?

PATH=$PATH:/usr/local/mysql/bin

1 ответов


существует разница между добавлением существующего пути к фронту или концу $PATH переменные среды. Способ bash разрешает пути выполнения, начиная с передней части списка. Это означает, что если у вас есть эти два каталога в вашем пути:

PATH="/dir1/bin:/dir2/bin"

и у них обоих есть исполняемый файл test.sh в нем, то когда вы бежите test.sh, он выполнит один в /dir1/bin/test.sh так как этот каталог появляется первым в пути.

дополнительно, ${PATH} это то же самое, что $PATH.

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"

просто добавив /Library/Frameworks/Python.framework/Versions/2.7/bin на фронт пути и

PATH=$PATH:/usr/local/mysql/bin

просто добавив /usr/local/mysql/bin до конца пути.

Итак, как вы делаете оба в одной строке? Что-то вроде этого:--13-->

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}:/usr/local/mysql/bin"