Ответ 1
Здесь:
export PATH=/home/david/pear/bin:$PATH
Я использую zsh, и я пытаюсь добавить новую запись (/home/david/pear/bin
) в переменную PATH
, но я не знаю, как это сделать.
То, что меня смущает больше всего, это то, что нет ни одного
ссылку на переменную PATH
в моем файле ~/.zshrc
, но выполнение echo $PATH
возвращает:
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Так что переменная PATH
устанавливается где-то.
Здесь:
export PATH=/home/david/pear/bin:$PATH
Собственно, использование ZSH позволяет использовать специальное сопоставление переменных среды. Поэтому вы можете просто:
# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH
Для меня это очень аккуратная функция, которая может быть распространена на другие переменные. Пример:
typeset -T LD_LIBRARY_PATH ld_library_path :
Вы можете добавить к своему PATH
минимальным способом. Нет необходимости в скобках, если вы не добавляете более одного элемента. Это также обычно не нуждается в кавычках. Итак, простой, короткий способ добавить это:
path+=/some/new/bin/dir
Тогда общий шаблон для тестирования нового скрипта/исполняемого файла становится:
path+=$PWD/.
# or
path+=$PWD/bin
Этот синтаксис в нижнем регистре использует path
в качестве массива, но также влияет на его эквивалент партнера в верхнем регистре, PATH
(с которым он "связан" через typeset
).
(Обратите внимание, что нет :
требуется/требуется в качестве разделителя.)
Обрабатывать path
таким образом (как массив) также означает: не нужно rehash
чтобы найти только что обновленные команды.
Также взгляните на vared path
как на динамический способ редактирования path
и других вещей.
Возможно, вас заинтересует только path
для этого вопроса, но, поскольку мы говорим об экспорте и массивах, обратите внимание, что массивы обычно не могут быть экспортированы.
Вы даже можете запретить PATH
принимать дубликаты записей (см. Это и это):
typeset -U path
один вкладыш, без открытия ~/.zshrc
файла
echo -n 'export PATH=~/bin:$PATH' >> ~/.zshrc
или
echo -n 'export PATH=$HOME/bin:$PATH' >> ~/.zshrc
Чтобы увидеть эффект, сделайте source ~/.zshrc
на той же вкладке или откройте новую вкладку
ВАРИАНТ 1: Добавьте эту строку в ~/.zshrc:
export "PATH=$HOME/pear/bin:$PATH"
После этого вам нужно запустить source ~/.zshrc
чтобы изменения вступили в силу ИЛИ закрыть это окно и открыть новое.
ВАРИАНТ 2: выполнить его внутри консоли терминала, чтобы добавить этот путь только в текущий сеанс окна терминала. Когда вы закроете окно/сессию, оно будет потеряно.
Добавлен путь к ~/.zshrc
sudo vi ~/.zshrc
добавить новый путь
export PATH="$PATH:[NEW_DIRECTORY]/bin"
Обновление ~/.zshrc
Сохранить ~/.zshrc
source ~/.zshrc
Проверьте ПУТЬ
echo $PATH