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