这篇文章主要为大家展示了“shell怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“shell怎么用”这篇文章吧。
一、shell脚本开始设定
#!/bin/bash set -o nounset set -o errexit
(1) set -o nounset
遇到不存在的变量,终止脚本的执行。shell脚本执行时,遇到未定义的变量,往往会继续执行,这不符合预期,也往往会带来莫名其妙的问题,增大排查难度。
(2) set -o errexit
执行shell脚本过程中,遇到错误,但往往会继续执行,这不符合预期,加上该设置,shell脚本执行过程中遇到错误就会终止脚本的执行。
这两个设定,都符合fail fast设计理念。
二、封装函数有必要
封装可以提高复用。
三、使用readonly和local修饰变量
readonly:顾名思义,只读。
local:函数内变量。
不仅能提高安全性,还能避免很多让人崩溃的莫名其妙的错误。
四、使用$()代替`(反单引号)
例子:
#!/bin/bash path=`pwd` echo $path echo "`pwd`" echo "$(pwd)"
$()能够支持内嵌;
$()不用转义;
五、使用[[]]代替[]
[[]]更符合人性编码
避免转义问题;
有不少新功能;
新功能包含但不限于:
|| :逻辑或
&& :逻辑与
< :字符串比较,不需要转义处理
== :通配符(globbing)字符串比较
=~ :正则表达式(regular expression, RegEx)字符串比较
从bash4.2开始,通配符和正则表达式都不能用引号包起来,所以,通配符和正则表达式加了引号就是字面比较。
所以如果表达式里有空格,必须存储到一个变量里,再进行通配符与正则的比较。
六、调试方法
1、echo 打印
2、使用 -n 对脚本进行语法检查。
sh -n myshell.sh
3、使用 -v 跟踪脚本里的每个命令的执行。
sh -v myshell.sh
4、使用 -x 跟踪脚本里的每个命令的执行,并附加扩充信息。
sh -x myshell.sh
也可以在脚本里添加如下设定来永久指定输出调试信息
set -o verbose set -o xtrace
测试完后移除。
以上是“shell怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。