Я сталкиваюсь с множеством сценариев оболочки с переменными во всех кепках, и я всегда думал, что с этим связано серьезное недоразумение. Я понимаю, что по соглашению (и, возможно, по необходимости давно) переменные окружения находятся во всех шапках.
Но в современных средах сценариев, таких как Bash, я всегда предпочитал условные обозначения нижних регистров для временных переменных и верхние регистры только для экспортированных переменных (например, среды). Например:
#!/usr/bin/env bash
year=`date +%Y`
echo "It is $year."
export JAVA_HOME="$HOME/java"
Это всегда было моим занятием. Есть ли авторитетные источники, которые либо согласны, либо не согласны с этим подходом, либо это чисто вопрос стиля?