跟老男孩学Linux运维:Shell编程实战3.4 变量定义技巧总结-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

跟老男孩学Linux运维:Shell编程实战3.4 变量定义技巧总结

简介:

3.4 变量定义技巧总结


可以多学习和模仿操作系统自带的/etc/init.d/functions函数库脚本的定义思路,多学习Linux系统脚本中的定义,有经验的读者最终应形成一套适合自己的规范和习惯。

(1)变量名及变量内容定义小结

变量名只能为字母、数字或下划线,只能以字母或下划线开头。

变量名的定义要有一定的规范,并且要见名知意。

示例:

OldboyAge=1 #<==每个单词的首字母大写的写法

oldboy_age=1 #<==单词之间用"_"的写法

oldboyAgeSex=1 #<==驼峰语法: 首个单词的首字母小写,其余单词首字母大写

OLDBOYAGE=1 #<==单词全大写的写法

一般的变量定义、赋值常用双引号;简单连续的字符串可以不加引号;希望原样输出时使用单引号。

希望变量的内容是命令的解析结果时,要用反引号``,或者用$()把命令括起来再赋值。

(2)Shell定义变量时使用“=”的知识

“a=1”里等号是赋值的意思;比较变量是否相等时也可以用“=”或“==”。

(3)打印输出及使用变量的知识

打印输出或使用变量时,变量名前要接$符号;变量名后面紧接其他字符的时候,要用大括号将变量部分单独括起来,以防止出现“金庸新著”的问题;在unset、export、(())等场景中使用但不打印变量时不加$,这个有些例外。

打印输出或使用变量时,一般加双引号或不加引号;如果是字符串变量,最好加双引号;希望原样输出时使用单引号。

关于变量命名的更多规范可参考第14章。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: