Myślę, że rozumiem instrukcje podane w temacie Jak dodać katalog do ŚCIEŻKI? na temat dodawania katalogów do $ PATH. Ale nie rozumiem, jak dodać katalogi do $ MANPATH lub $ INFOPATH.
Poza tym, szukając pomocy w Google, zauważyłem, że czasami wskazówki mówią, export PATH=/usr/share/lib/something:$PATH
a czasem mówią export PATH=$PATH:/usr/share/lib/something
. Który to jest?
echo $MANPATH
wraca/usr/local/texlive/2012/texmf/doc/man
do mnie. Kiedy dodam ścieżki do raportów bash konfiguracji/usr/local/texlive/2012/texmf/doc/man:/usr/local/texlive/2012/texmf/doc/man
i Zsh nadal raport/usr/local/texlive/2012/texmf/doc/man
. Do zsh dodaję ścieżki/etc/zsh/zshrc
. Nie jestem pewien, czy to prawda. Próbowałem również edytować/etc/environment
, jak sugerowano tutaj , ale bez powodzenia.MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH
? Próbowałemman tlmgr
i mówi, że to nie istnieje.Jeśli twoje strony
/usr/local/myproject/man
podręcznika są w środku , wszystko, co musisz zrobić, to dodać to (na końcu)/etc/manpath.config
:źródło
Prawie inaczej.
$PATH
zawiera oddzielną:
listę miejsc, w których bash (powłoka / terminal) powinien sprawdzić program.Na przykład, jeśli wpiszesz
cat
sposób, w jaki terminal rozumie, co to znaczy, przejrzysz pierwszy, drugi, trzeci element$PATH
, a następnie zapiszesz pierwszą znalezioną lokalizację do późniejszych wywołańcat
.Jeśli mam dwie różne wersje programu w dwóch różnych miejscach, przy czym jedna z nich jest preferowana, i
$PATH
mówi powłoce, aby szukała w niewłaściwej kolejności, oznacza to problem. W przeciwnym razie nie ma problemu.Otwórz terminal i wpisz
Zobaczysz, że
a=5
ustawia wartość zmiennej i$a
odnosi się do nazwy zmiennej, a nie wartości.Otwórz drugi terminal i wpisz
echo $a
. Powinno być znowu puste.Różnica między
export
i assignment (=
) jest wyjaśniona tutaj: /programming/1158091/defining-a-variable-with-or-without-export .źródło