来自:
bash脚本是在Linux上执行和自动化任务最简单的方法。它们快速、安全、可靠。
在这篇文章中,我们将看到创建脚本时的最佳实践法则,或者更确切地说,如何正确地编写bash脚本,使它可以能理解,最重要的是,可重复使用。
如何正确编写bash脚本
我们提供了任何bash开发人员都应该遵循的10条建议。
记得添加注释
注释有助于理解脚本开发,并使希望继续或改进脚本的其他开发人员更容易完成任务。请记住,它们是指示性的,为了避免执行如何写脚本,它们必须被注释(字符#)。
在Bash脚本中添加注释可以节省以后查看代码时的大量时间和精力,假设您要更改几个月或几年前编写的脚本。除非您添加注释,否则您将不记得为什么编写了这些复杂的代码。
单行注释:
# The script by linuxmi.com, …..
例子:
“#”符号用于在bash脚本中添加单行注释。创建一个名为“ linuxmi.com.sh”的新文件,并添加以下带有单行注释的脚本。
#!/bin/bash
# 两个数值相加
((sum=17+20))
#打印结果
echo $sum
多行注释:
在bash中可以以各种方式使用多行注释。下面的示例显示了一种简单的方法。在这里,’:’和” ‘ “符号用于在bash脚本中添加多行注释。下面的脚本将计算7×9的积。
#!/bin/bash
: ‘
下面是两个数的相乘的积
这里是7乘9
((area=7*9))
echo $area
发现错误时退出脚本
Bash非常强大,有时当出现错误时,它能够继续运行。您不应该允许这样做,为了解决这个问题,我们使用了“errexit”的缩写选项。
# The script by linuxmi.com
set -e
当bash使用未声明的变量时退出脚本
有时bash可能会尝试运行未声明的变量,这可能会导致脚本最终结果的异常运行。要退出脚本,我们使用缩写的“nounset”选项。
# The script by linuxmi.com
set -u
对变量的引用必须带有双引号
当我们在引用变量时必须使用双引号,我们避免了单词的划分和空格。
#!/bin/bash
# The script by linuxmi.com
set -e
set -u
echo “我是Linux迷”
echo
names=”Linux迷”
for name in $names; do
echo “$name”
done
echo
echo “双引号输出”
echo
for name in “$names”; do
echo “$name”
done
exit 0
输出如下图:
使用函数
这是新程序员的一个主要弱项。习惯使用函数,使用时直接调用函数名,这样的脚本好处:模块化,代码可读性强,扩展性方便,更容易阅读。
function check_linuxmi(){
命令-1;
命令-2;
或者
check_linuxmi(){ /function 也可以不写
命令-1;
c命令-2;
如果您在一行中生成代码,不要忘记完成。
check_linuxmi(){ 命令-1; 命令-2; }
使用$而不是反引号
要替换命令,请使用$符号而不是反引号。
user=`echo “$UID”`
user=$(echo “$UID”)
使用大写字母表示环境变量
对于环境变量,您应该使用大写字母,而对于自定义变量,您应该使用小写字母。通过这种实践,您将避免变量之间的许多冲突。
mi_linux=”$HOME/linuxmi/www.linuxmi.com/linuxmi.sh”
perl “$mi_linux” -h “$1”
在静态变量中使用readonly
一旦在脚本中定义了静态变量,就不应该修改它们,所以我们将它们设置为只读模式。
readonly hostname_file=”/etc/hostname”
readonly localtime_file=”/etc/localtime”
readonly network_file=”/etc/network”
调试代码
如果脚本只有几行如何写脚本,则不需要,但是如果您编写了数百行bash脚本,则必须在将其投入生产之前对其进行调试。在下一篇文章中,我们将看到如何调试bash代码。
…END…
1、本站资源针对会员完全免费,站点中所有资源大部分为投稿作者付费教程,切勿轻易添加教程上除本站信息外的任何联系方式,谨防被割,如有疑问请随时联系客服。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。