W FreeBSD 12, używając zsh
powłoki, zauważyłem tę różnicę, patrząc na $path
(małe litery) w porównaniu z $PATH
(wielkie litery).
echo $path
/ sbin / bin / usr / sbin / usr / bin / usr / local / sbin / usr / local / bin / usr / home / freebsd / bin
echo $PATH
/ sbin: / bin: / usr / sbin: / usr / bin: / usr / local / sbin: / usr / local / bin: / usr / home / freebsd / bin
Jedno wyjście jest rozdzielone znakiem SPACJA, a drugie znakiem KOLON.
➥ Skąd ta różnica?
Czy te dwie różne, odrębne zmienne? A może małe / wielkie litery wywołują jakiś trick lub znaczenie, o którym nie wiem?
Czy to jest zsh
funkcja? Lub funkcja FreeBSD?
path
wewnątrz zsh
nie będzie zaktualizować dowolną path
envvar: path=junk zsh -c 'echo $path; path=garbage; /usr/bin/printenv path'
.
for path in "$dir"/*
odruchowo bezpieczny kod do pisania.