shell 脚本中的变量有命名约定吗?

shell 脚本中的变量有命名约定吗?

大多数语言都有变量的命名约定,我在 shell 脚本中看到的最常见的样式是MY_VARIABLE=foo.这是约定还是仅适用于全局变量?脚本的本地变量怎么样?

答案1

操作系统引入的环境变量或shell变量、shell启动脚本或shell本身等通常都在CAPITALS1中。

为了防止您的变量与这些变量发生冲突,最好使用lower_case变量名称。


1一个可能值得了解的值得注意的例外是shellpath使用的数组zsh。这与公共变量相同,PATH但表示为数组。

答案2

是的,bash 有完整的代码风格约定,包括变量名称。例如,这是谷歌的外壳风格指南

作为变量名称的具体总结:

变量名称:小写,用下划线分隔单词。前任:my_variable_name

常数环境变量名称:全部大写,以下划线分隔,在文件顶部声明。前任:MY_CONSTANT

答案3

用下划线分隔单词似乎是最好的方法。
当我可以自由选择时,我有几个理由更喜欢snake_case而不是camelCase:

  1. 灵活:可以使用大写和小写(例如MY_CONSTANTmy_variable);
  2. 一致:数字可以分开,使数字更可读(例如1_000_000_000),许多编程语言都支持此功能;
  3. 常见:常见于正则表达式\w处理下划线,如单词字符和数字 ( [a-zA-Z0-9_])。

相关内容