Shell是用户与Linux或Unix内核通信的工具,shell编程指的并不是编写这个工具,而是指利用现有的shell工具进行编程,写出来的程序是轻量级的脚本,我们叫做shell脚本。
Shell的语法是从C语言继承过来的,因此我们在写shell脚本的时候往往能看到c语言的影子。
Shell脚本实在是太灵活了,相比标准的Java、C、C++ 等,它不过是一些现有命令的堆叠,这是他的优势也是他的劣势,太灵活导致不容易书写规范。本人在写shell脚本的过程中形成了自己一些规范,这些规范还在实践中,在此分享出来,以期更多的人来帮助我完善。
关于命名
命名只能使用字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,不能使用标点符号,不能使用汉字,可以使用下划线 ,所以我们往往使用 作为分词的标识 例如user_name、city_id等等。
不能使用bash里的关键字(可用help命令查看保留关键字)。
脚本中的所有变量风格统一使用下划线命名风格。(不强制,视情况而定)
脚本中的函数名根据长短、语意酌情使用驼峰或下划线。
统一的风格是好的编程习惯的开始,这样程序给人一种清爽的感觉,至于使用格式还是使用格式,仁者见仁智者见智。
对比一下就感觉userName比user_name简洁; 函数名log_info比logInfo更加贴切, 我们Java中打印日志的时候一般这样写log.info(""), 所以在Shell 中使用这种写法更像Java的习惯;比更加紧凑,使用起来更像Java的函数命名风格。
虽然这样,但是本规约还是规定尽量使用下划线风格(特殊情况特殊处理,不强制),因为你可以看看Linux自带的一些脚本,定义变量或函数的时候都使用下划线分割。
未完待续 。。。
领取专属 10元无门槛券
私享最新 技术干货