В 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: / бен: / USR / SBIN: / USR / бен: / USR / местные / SBIN: / USR / местные / бен: / USR / дома / FreeBSD / бен
Один вывод ограничен символом пробела, другой - символом COLON.
➥ Почему разница?
Это две разные, отдельные переменные? Или строчная / прописная буква вызывает какой-то фокус или смысл, о котором я не знаю?
Это zshособенность? Или особенность FreeBSD?
pathвнутри zshне будет обновлять какие - либо pathenvvar: path=junk zsh -c 'echo $path; path=garbage; /usr/bin/printenv path'.
for path in "$dir"/*рефлексивно безопасный код для записи.