У FreeBSD 12, використовуючи zsh
оболонку, я помітив цю різницю, дивлячись на $path
(малі регістри) проти $PATH
(великі регістри ).
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
Один вихід обмежений символом SPACE, інший символом COLON.
➥ Чому різниця?
Це дві різні, окремі змінні? Або маленька / велика літера запускає якусь хитрість чи сенс, про який я не знаю?
Це zsh
особливість? Або особливість FreeBSD?
path
всередині zsh
НЕ буде оновлювати будь - яких path
envvar: path=junk zsh -c 'echo $path; path=garbage; /usr/bin/printenv path'
.
for path in "$dir"/*
рефлекторно безпечний для запису код.