У 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НЕ буде оновлювати будь - яких pathenvvar: path=junk zsh -c 'echo $path; path=garbage; /usr/bin/printenv path'.
for path in "$dir"/*рефлекторно безпечний для запису код.