Добавление новой записи в переменную 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 переменная устанавливается где-то.

827   5  

5 ответов:

здесь:

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 file

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: выполнить его в консоли терминала, чтобы добавить этот путь только к текущему сеансу терминального окна. Когда вы закроете окно/сеанс, он будет потерян.

Comments

    Ничего не найдено.