0

10条shell脚本开发最佳实践

Posted by loong on 2018/08/09 in IT系统管理专业积累 |

10 shell best practices

1.一定要有简明的注释
其实这点不论使用什么程序语言的开发者都应该十分注意。
俗话说“好记性不如烂笔头”,如果你写了一个比较复杂的shell脚本,如果不做好注释,等一段时间以后你自己再看都可能很费劲了,更别说交接给别人或和别人协同开发了。
所以,别偷懒,做好注释!

 

2.所有的变量都用花括号括起来。

${variable},这样不仅使得脚本代码更具可读性,还容易实现类似“${variable}_suffix”这样的代码。

 

3.引用命令结果的时候用$(CMD),不要用反引号`CMD`

$(CMD)的方式不仅使得代码更易读,而且$(CMD)的方式支持多层嵌套执行,例如:echo $(file $(ls))

 

4.代码风格保持一致。

比如使用反引号还是$()、缩进用4个空格还是tab,一定要始终一致。

 

5.脚本开头要有“shebang”,而且最好能精确匹配执行脚本的shell。

比如如果你写的脚本可能只在bash下运行,那最好用“#!/usr/bin/bash”这样的shebang。

 

6.在if语句中进行字符串和变量比较的时候,最好将变量用双引号引起来。blog of loong

这样当变量为空的时候程序不会报错,而是判断为false。另外,如果变量的值不确定(例如变量是读取的用户输入),将变量引起来在if语句中与字符串进行比较的话可以保证即使变量值里面包含特殊字符甚至空格的情况下shell仍然会将变量值视为一个整体。

 

7.合理使用退出返回码。

当脚本中的某个操作失败的时候,最好明确返回失败说明文字,当然失败说明中如果能给出解决方法就更完美了,在执行失败后还应当返回一个非零的返回码。例如:
# when failed
echo “Process has failed to complete, you need to manually restart the whatchamacallit”
exit 1
这样使得其他程序调用你的脚本时可以很容易的通过返回码确认执行结果。

 

8.shell脚本写好后可以用-x参数进行调试。

 

9.在脚本比较大的情况下,函数内的变量最好用local关键字申明为本地变量,以免变量名冲突。

10.尽量使用绝对路径。

 

» 本文链接:http://nicelife.me/?p=1859
» 订阅本站:http://nicelife.me


标签:, , , , ,

欢迎留下您的评论,谢谢!

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Copyright © 2012-2018 blog of loong All rights reserved.