【规范】shell变量命名和编程规范
变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。
脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,shell 变量也遵循这个规则。
在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。
这意味着,Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和大部分的编程语言不同。例如在C语言或者 C++中,变量分为整数、小数、字符串、布尔等多种类型。
Google 的 Shell 编程风格指南,编写 Shell 脚本的指导原则和最佳实践,包括但不限于以下内容:
-
选择 Shell:推荐使用 Bash 作为脚本语言,并且所有可执行脚本必须以
#!/bin/bash
开头。 -
何时使用 Shell:Shell 应该用于小型工具或简单的包装脚本。对于数据操作较少、性能要求不高、脚本长度不超过 100 行或使用简单控制流程逻辑的情况,Shell 是一个合适的选择。
-
Shell 文件和解释器调用:可执行文件最好没有扩展名,或者使用
.sh
扩展名。库文件必须使用.sh
扩展名,并且不应该是可执行的。 -
环境:所有错误消息应该输出到
STDERR
。 -
注释:代码中应该包含文件头、函数注释、实现注释和 TODO 注释。
-
格式化:包括缩进、行长度、长字符串、管道、循环、case 语句、变量扩展和引用等方面的规范。
-
特性和缺陷:推荐使用 ShellCheck 来识别脚本中的常见错误和警告。
-
命名约定:包括函数名、变量名、常量和环境变量名、源文件名等的命名规则。
-
调用命令:总是检查返回值,并为内建命令与外部命令提供指导。
-
结论:强调使用常识并保持一致性。
参考
shell 变量
https://www.zfl9.com/shell-variable.html
shell脚本中是否有变量的命名约定?
http://129.226.226.195/post/21894.html
Shell Style Guide
https://google.github.io/styleguide/shellguide.html
shell变量高级用法
https://learnku.com/articles/39190
shell编程
https://www.limfx.pro/readarticle/2745/shellbian-cheng
Linux Shell 编程
https://getiot.tech/zh/linux-shell
Shell 变量
https://getiot.tech/zh/linux-shell/shell-script-variables
Shell 数据类型
https://getiot.tech/zh/linux-shell/shell-script-data-types