Dodanie nowego wpisu do zmiennej PATH w ZSH
Używam zsh i próbuję dodać nowy wpis (/home/david/pear/bin
) do zmiennej PATH
ale nie wiem jak.
Najbardziej mnie myli to, że nie ma ani jednego
odniesienie do zmiennej PATH
w moim pliku ~/.zshrc
, ale wykonanie echo $PATH
zwraca:
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Więc PATH
zmienna jest ustawiana gdzieś.
5 answers
Tutaj:
export PATH=/home/david/pear/bin:$PATH
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-17 20:15:05
W rzeczywistości korzystanie z ZSH pozwala na użycie specjalnego mapowania zmiennych środowiskowych. Więc można po prostu zrobić:
# 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
Dla mnie jest to bardzo zgrabna funkcja, która może być propagowana do innych zmiennych. Przykład:
typeset -T LD_LIBRARY_PATH ld_library_path :
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-04 03:34:17
Możesz dołączyć do swojego PATH
w minimalnym stylu. Nie ma potrzeby
nawiasy, chyba że dodajesz więcej niż jeden element. To także
zazwyczaj nie potrzebuje cytatów. Więc prosty, krótki sposób na dodanie to:
path+=/some/new/bin/dir
Powszechne użycie
Wtedy wspólny wzorzec do testowania nowego skryptu / pliku wykonywalnego staje się:
path+=$PWD/.
# or
path+=$PWD/bin
Ta mała składnia używa path
jako tablicy , jednak również
wpływa na jego odpowiednik dla partnera górnego, PATH
(do którego na
"bound" via typeset
).
(zauważ, że no :
jest potrzebny / poszukiwany jako separator.)
Podobne ciekawostki
Traktowanie path
w ten sposób (jako tablica) oznacza również: nie trzeba robić
rehash
aby znaleźć nowo dodane polecenia.
Zobacz też vared path
jako dynamiczny sposób edycji path
i inne rzeczy.
Możesz być zainteresowany tylko path
na to pytanie, ale od
mówimy o eksporcie i tablice, zauważ, że
tablic zazwyczaj nie można eksportować.
Możesz nawet zapobiec PATH
przyjmowaniu zduplikowanych wpisów
(patrz
to
i to):
typeset -U path
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-13 17:57:45
Jedna wkładka, bez otwierania ~/.zshrc
pliku
echo -n 'export PATH=~/bin:$PATH' >> ~/.zshrc
Lub
echo -n 'export PATH=$HOME/bin:$PATH' >> ~/.zshrc
Aby zobaczyć efekt, wykonaj source ~/.zshrc
w tej samej karcie lub otwórz nową kartę
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-13 14:26:38
Opcja 1: Dodaj tę linię do~/.ZSRC:
export "PATH=$HOME/pear/bin:$PATH"
Następnie należy uruchomić source ~/.zshrc
, aby zmiany wpłynęły lub zamknęły to okno i otworzyły nowe
Opcja 2: wykonaj ją wewnątrz konsoli terminala, aby dodać tę ścieżkę tylko do bieżącej sesji okna terminala. Po zamknięciu okna / sesji zostanie ono utracone.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-13 08:53:01