Демуре уже ответил на ваш конкретный вопрос. Однако это zsh
вопрос и о PATH
, Итак, вот еще один момент: помимо стандартной переменной $PATH
, существует также $path
, который является массивом. Здесь вы видите разницу (двоеточия или нет ...):
$ print $PATH
/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
$print $path
/bin /usr/bin /usr/local/bin /usr/X11R6/bin
Оба варианта автоматически синхронизируются. Итак, в чем преимущество использования массива?
- Последний вы можете объявить через
typeset -U path
«сохранить только первое вхождение каждого дублированного значения» (из man zshbuiltins
). Это означает, что ваш путь остается чистым, даже если вы успешно ~/.zshrc
(потому что вы изменили его или что-то еще) и не загромождайте его одними и теми же значениями снова и снова.
- Ты можешь использовать
path+=(/new/path)
добавить новый каталог в ваш путь. Чтобы удалить элемент, вы должны использовать некоторые приемы, см., Например, https://stackoverflow.com/q/3435355/2037712 или же http://www.zsh.org/mla/users//2005/msg01132.html
- Вы можете легко зациклить элементы в ПУТИ через
for i ($path) { print $i # or do something else }
Наконец, вот выдержка из моего конфига:
typeset -U path
path=(/new/path1
/new/path2
$path)
export PATH
.zshenv
,