O ile rozumiem, zwykłym sposobem dodawania ścieżki do PATH
zmiennej środowiskowej jest łączenie ścieżek oddzielonych :
znakiem.
Na przykład, jeśli chcę dodać trzy ścieżki do niego /my/path/1
, /my/path/2
i /my/path/3
chciałbym zrobić to w następujący sposób:
PATH=$PATH:/my/path/1:/my/path/2:/my/path/3
co nie jest łatwe do odczytania.
Czy istnieje sposób na zdefiniowanie lub dodanie ścieżek do PATH
zmiennej przy użyciu składni wielowierszowej ? Być może używasz tablic? Szukam czegoś takiego:
PATH =
$PATH
/my/path/1
/my/path/2
/my/path/3
W przypadku, gdy istnieją ciekawe rozwiązania specyficzne dla powłoki, szukam rozwiązania w Zsh.
źródło
paste
rozwiązaniu?Nie jest to wcale interesujące rozwiązanie, ale bardzo przenośne:
źródło
+=
aby uniknąć konieczności całkowitego przebudowywania łańcucha.W Zsh
$path
jest tablica:Uwaga: oba
path
są małe.źródło
W Zsh, jeśli dodajesz katalogi na końcu ścieżki:
Przenośnie: jak poprawnie dodać ścieżkę do PATH?
Za pomocą kwalifikatorów glob można wykluczyć wpisy, które nie są istniejącymi katalogami lub dowiązaniami symbolicznymi do takich. Może to być pożądane lub nie, w zależności od tego, czy katalogi zostaną dodane później podczas sesji (np. Jeśli znajdują się na zdalnych systemach plików). Nie możesz tego zrobić ze
path+=/my/path
składnią, ponieważ prawa strona znajduje się w kontekście łańcuchowym i dlatego nie podlega globowaniu; możesz to zrobić,path+=(/my/path)
ponieważ każdy element tablicy jest rozwijany w kontekście listy.źródło