Итак, я пытаюсь создать личный bin
каталог в моей домашней папке. Я создал следующую папку:
/Users/thi/bin
Я помещаю свои скрипты в эту папку, но если я печатаю в Терминале:
myScript
Это не работает.
Мне сказали, что я должен экспортировать этот путь в корзину, что-то связанное с этим echo $PATH
, но я не знаю, как это сделать.
Ответы:
Вам необходимо добавить следующее в файл
~/.profile
:потом
source ~/.profile
Обратите внимание, что вам может понадобиться создать этот файл, и, поскольку он начинается с,
.
он может не отображаться в Finder для редактирования через приложение, такое как текстовый редактор. Чтобы просмотреть все файлы, включая скрытые, используйте:источник
$HOME/bin
вместо/Users/thi/bin
. После этого вы сможете скопировать свои настройки на другой компьютер, где ваше имя пользователя может отличаться..profile
файл.export PATH=$HOME/bin:$PATH
в мой$HOME/.bash_profile
.Если вы используете bash, добавьте следующую строку
~/.bash_profile
:PATH
помечен для экспорта по умолчанию, поэтому вам не нужно использоватьexport
.Если оба
~/.bash_profile
и~/.profile
существуют, bash читает только~/.bash_profile
тогда, когда он вызывается как интерактивная оболочка входа в систему.~/.profile
также используется другими оболочками, которые могут не понимать те же параметры конфигурации, что и bash.Терминал и iTerm 2 по умолчанию открывают новые оболочки в качестве оболочек для входа. Когда bash вызывается как интерактивная оболочка входа в систему, она читает,
~/.bash_profile
но не читает~/.bashrc
. Эмуляторы терминала на других платформах часто открывают новые оболочки как оболочки без входа в систему, поэтому, например, bash читает,~/.bashrc
но не читает~/.bash_profile
. Пользователи OS X часто используют~/.bash_profile
в качестве персонального файла конфигурации, соответствующего~/.bashrc
на других платформах, но также распространено исходить~/.bashrc
из~/.bash_profile
или сказать Терминалу или iTerm 2, чтобы открывать новые оболочки как оболочки без входа в систему.Вы также можете изменить путь более глобально в
/etc/paths
или/etc/launchd.conf
, но во многих контекстах путь по-прежнему будет по умолчанию/usr/bin:/bin:/usr/sbin:/sbin
. И мне действительно нужно было изменить путь в оболочках и текстовых редакторах.источник
export PATH=$HOME/bin:$PATH
в мой$HOME/.bash_profile
.~
(когда$HOME
они не заключены в кавычки), и они раскрываются перед назначением переменной как при использовании экспорта, так и при обычном назначении..bash_profile
или.profile
? Или у вас есть.bashrc
в вашем домашнем каталоге?. ~/.bashrc
. Новые оболочки открываются как оболочки без логина в режиме оболочки в emacs и в tmux. Я бы не использовал .profile в качестве основного файла конфигурации, потому что он также читается другими оболочками, такими как ksh.Обычно вы добавляете дополнительные пути после,
$PATH
как,PATH=$PATH:/$HOME/bin
потому что, если вы не хотите заменять другой исполняемый файл с тем же именем, которое может быть/bin
, и т. Д.источник
$HOME/bin
в начале именно по этой причине. Но главное в том, что порядок каталогов$PATH
имеет значение, и что оболочка выберет первую соответствующую команду. Спасибо за указание на это.