Добавление новой записи в переменную PATH в ZSH
Я использую zsh и пытаюсь добавить новую запись (/home/david/pear/bin) к PATH переменной, но я не знаю как.
больше всего меня смущает то, что нет ни одного
ссылка на PATH переменная в моем , а как echo $PATH возвращает:
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
так PATH переменная устанавливается где-то.
5 ответов:
На самом деле, использование 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
один вкладыш, без открытия
~/.zshrcfileecho -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: выполнить его в консоли терминала, чтобы добавить этот путь только к текущему сеансу терминального окна. Когда вы закроете окно/сеанс, он будет потерян.
Comments