Путь экспорта.профиль на Mac

Я не могу поверить, что нет никаких учебников об этом после googling. Может кто-нибудь указать мне направление или объяснить, что означают эти линии и переменные .профиль на Mac? Как кто-то может их настроить?

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.
#export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
export PATH=$PATH:/usr/local/mysql/bin
#export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
#export PATH=/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5/bin:/Applications/MAMP/htdocs/cake/cake/console:/opt/local/bin:/opt/local/sbin:$PATH
export PATH=/android-sdks/platform-tools:~/android-sdks/tools:$PATH
export PATH=/Users/android-sdks/platform-tools:/Users/android-sdks/tools:$PATH

3 ответов


любая строка, начинающаяся с # является комментарием. PATH= устанавливает значение PATH переменная, $PATH расширяется до текущего значения и export в начале делает значение доступным для программ, которые вы запускаете с терминала.

предположим, что начальное значение PATH равно /usr/bin:/bin.

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

заменить $PATH с предыдущим значением $PATH. Итак, вышеуказанные наборы PATH to

/opt/local/bin:/opt/local/sbin:/usr/bin:/bin

переезд вперед,

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

снова замените $PATH предыдущим значением:

/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin

после

export PATH=/android-sdks/platform-tools:~/android-sdks/tools:$PATH

у нас есть

/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin

(The ~ - это специальный токен, который будет заменен путем к вашему домашнему каталогу, но вы должны получить изображение.)

и, наконец, после

export PATH=/Users/android-sdks/platform-tools:/Users/android-sdks/tools:$PATH

мы

/Users/android-sdks/platform-tools:/Users/android-sdks/tools:/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin

PATH используется для поиска команд, которые вы вводите в командной строке. Так что если вы тип foo, оболочка будет искать имена ниже, в указанном порядке:

/Users/android-sdks/platform-tools/foo
/Users/android-sdks/tools/foo
/android-sdks/platform-tools/foo
~/android-sdks/tools/foo
/opt/local/bin/foo
/opt/local/sbin/foo
/usr/bin/foo
/bin/foo
/usr/local/mysql/bin/foo

чтобы увидеть текущее значение PATH, запустите

echo $PATH

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

вы должны добавить в начало, если цель состоит в том, чтобы искать другие каталоги, прежде чем искать в них по умолчанию. Например, git - утилита, используемая для управления исходным кодом. Если бы я хотел установить более новую версию git в ~/Git и использовать это по умолчанию я бы сделал:

export PATH=~/git/bin:$PATH

это означает, что ~ / git/bin /git переопределит/opt/local/bin / git.

С другой стороны, я бы предпочел, чтобы администратор установил


С man страница, export просто устанавливает переменную среды.

на PATH переменная среды сообщает вашему Mac, где искать команды, которые вы вводите в командной строке, в том порядке, в котором она должна выглядеть. Это список путей, разделенных двоеточием.

значение $PATH - текущее значение PATH переменные среды.

таким образом, строку типа

export PATH=/foo:$PATH

добавляет /foo к PATH

и

export PATH=$PATH:/foo

добавляет /foo до PATH


Run man

и затем ответить на вопрос как export

вы можете видеть текущее PATH значение и обратите внимание,что существует более одного пути.

(шахта /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin)

заметим, что : представляет собой конец одного пути.

вы можете получить это с помощью $PATH

теперь, когда вы хотите добавить еще один путь к этому списку, вам нужно добавить текущий путь к новому пути, например /newPath:$PATH или $PATH:/newPath.

и, наконец, для его сохранения нужно использовать export PATH=$PATH:/newPath.

Примечание: этот ответ предназначен для начинающих разработчиков.