怎么深入学云计算Linux?编写bash脚本有哪些技巧?很多同学反映,常常被Linux中的shell脚本困扰,各种不同的脚本编程让人无从下手。其实只要你找对方法,掌握shell脚本还是很轻松的。一般情况下,我们都是使用bash(bourne again shell)进行shell编程,因为bash是免费的并且很容易使用。接下来就给大家分享bash脚本编写技巧。

%title插图%num

 

1、当运行失败时使脚本退出

有时即使某些命令运行失败,bash也会继续去执行脚本,这样就影响到脚本的其余部分,*终导致逻辑错误。这时我们就要退出脚本执行:

# 如果命令运行失败让脚本退出执行

set -o errexit

# 或

set -e

2、脚本中多写注释

这不仅可应用于shell脚本程序中,也可用在其他所有类型的编程中。在脚本中作注释能帮你或别人翻阅你的脚本时了解脚本的不同部分所做的工作。对于刚入门的人来说,注释用#号来定义。

3、字符串比较时用 = 而不是 ==

注意 == 是 = 的同义词,因此仅用个单 = 来做字符串比较,例如:

value1=”tecmint.com”

value2=”fossmint.com”

if [ “$value1” = “$value2” ]

4、当bash用未声明变量时使脚本退出

bash可能会使用能导致起逻辑错误的未声明的变量,你可以用下面行的方式去通知bash当它尝试去用一个未声明变量时就退出脚本执行:

# 若有用未设置的变量即让脚本退出执行

set -o nounset

# 或

set -u

5、用readonly来声明静态变量

静态变量不会改变,它的值一旦在脚本中定义后不能被修改:

readonly passwd_file=”/etc/passwd”

readonly group_file=”/etc/group”

6、环境变量用大写字母命名,而自定义变量用小写

所有的bash环境变量用大写字母去命名,因此用小写字母来命名你的自定义变量以避免变量名冲突:

# 定义自定义变量用小写,而环境变量用大写

nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl”

perl “$nikto_file” -h “$1”

7、使用双引号来引用变量

当引用时(使用一个变量的值)用双引号有助于防止由于空格导致单词分割开和由于识别和扩展了通配符而导致的不必要匹配。

8、启用shell脚本调试模式的方法

-v(verbose 的简称),告诉shell读取脚本时显示所有行,激活详细模式。

-n (noexec 或 no ecxecution 简称),指示shell读取所有命令然而不执行它们,这个选项激活语法检查模式。

-x (xtrace 或 execution trace 简称),告诉shell在终端显示所有执行的命令和它们的参数,这个选项是启用shell跟踪模式。

调用shell调试选项:$ shell 选项 参数1 … 参数N

启用调试模式:$ set -选项

禁用调试模式:$ set +选项

随着开源软件的流行以及互联网的高速发展,Linux得到了企业的广泛重视,HR在招聘云计算人才时也会考核其对Linux的掌握程度。如果你想更深入的学习Linux、快速掌握高薪云计算人才所需的技能,可以选择专业的学习。