Существуют ли соглашения об именовании переменных в скриптах оболочки?

Существуют ли соглашения об именовании переменных в скриптах оболочки?

В большинстве языков есть соглашения об именовании переменных, наиболее распространенный стиль, который я вижу в скриптах оболочки, это MY_VARIABLE=foo. Это соглашение или оно касается только глобальных переменных? А как насчет переменных, локальных для скрипта?

решение1

Переменные среды или переменные оболочки, введенные операционной системой, скриптами запуска оболочки или самой оболочкой и т. д., обычно находятся в файле CAPITALS1 .

Чтобы предотвратить конфликт ваших переменных с этими переменными, рекомендуется использовать lower_caseимена переменных.


1 Примечательным исключением, о котором стоит знать, является pathмассив, используемый zshоболочкой. Это то же самое, что и общая PATHпеременная, но представленная в виде массива.

решение2

Да, есть полные соглашения о стиле кода для bash, включая имена переменных. Например, вот Google'sРуководство по стилю оболочки.

В качестве резюме по именам переменных:

Имена переменных: Строчные буквы, с подчеркиваниями для разделения слов. Пример:my_variable_name

КонстантыиИмена переменных среды: Все заглавные буквы, разделенные подчеркиванием, объявлены в верхней части файла. Пример:MY_CONSTANT

решение3

Подчеркивания для разделения слов кажутся лучшим способом.
У меня есть несколько причин предпочесть snake_case вместо camelCase, когда я свободен в выборе:

  1. Гибкость: можно использовать заглавные и строчные буквы (например, MY_CONSTANTи my_variable);
  2. Последовательность: цифры можно разделить, чтобы сделать число более читабельным (например, 1_000_000_000), и эта функция поддерживается во многих языках программирования;
  3. Распространено: Распространено в той точке, где регулярное выражение \wобрабатывает подчеркивания, такие как символы слов и цифры ( [a-zA-Z0-9_]).

Связанный контент