未加星标

shell脚本开发最佳实践10点

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏

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语句中进行字符串和变量比较的时候,最好将变量用双引号引起来。
shell脚本开发最佳实践10点

这样当变量为空的时候程序不会报错,而是判断为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.尽量使用绝对路径。

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

tags: 变量,脚本,shell,CMD,返回,代码,echo,variable,bash,shebang,failed
分页:12
转载请注明
本文标题:shell脚本开发最佳实践10点
本站链接:https://www.codesec.net/view/586442.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(100)