一、变量的使用技巧
Shell脚本中的变量使用基本上和其他编程语言差不多,都是通过变量名来获取和设置变量的值。Shell中变量的命名规则和其他编程语言也大同小异。在实际使用中,需要注意以下几个方面的技巧。
1、变量名的大小写
#!/bin/bash myvar="Hello World" echo $myvar echo $MYVAR
结果为:
Hello World
因为在Linux中,变量名是区分大小写的,所以$myvar和$MYVAR是两个不同的变量。
2、变量名的避免
在Shell脚本中,一些特殊变量是由Shell预定义的。使用这些变量名可能会与Shell的功能产生冲突,因此需要避免使用这些变量名。
#!/bin/bash echo $0 echo $1 echo $2
输出的结果是当前程序名和两个传入的参数。
3、将命令输出赋值给变量
#!/bin/bash myvar=$(ls /) echo $myvar
通过将命令的输出赋值给变量,可以方便的通过Shell脚本来处理命令的输出结果。
二、流程控制语句技巧
Shell脚本支持和其他编程语言类似的流程控制语句。
1、if语句
#!/bin/bash
if [ $1 -gt 10 ]
then
echo "$1 大于10"
else
echo "$1 不大于10"
fi
通过判断传入的参数是否大于10,来执行不同的语句。
2、for循环
#!/bin/bash
for i in $(seq 1 5)
do
echo $i
done
通过for循环来输出1到5这几个数字。
3、while循环
#!/bin/bash
i=0
while [ $i -lt 5 ]
do
echo $i
i=$((i+1))
done
while循环可以用于当条件为真时执行一个命令。
三、函数的使用技巧
在Shell脚本中,函数的定义和其他编程语言基本上是差不多的。定义函数的语法如下:
function 函数名()
{
函数体
}
定义一个用于输出Hello World的函数:
#!/bin/bash
function hello()
{
echo "Hello World"
}
hello
函数需要在调用之前定义,否则Shell会产生一个“未定义函数”的错误。
四、命令行参数的处理
在编写Shell脚本的过程中,可能需要处理命令行参数。Shell脚本中,命令行参数是通过”$1″、”$2″等形式来获取。
1、传递参数
#!/bin/bash echo $1 $2 $3
通过上面的代码,可以输出传入的前三个命令行参数。
2、获取参数个数
#!/bin/bash echo $#
通过上面的代码,可以输出传入的命令行参数个数。
五、异常处理技巧
在Shell脚本中,可能会出现一些异常情况,需要对这些异常进行处理。
1、退出状态码
Shell脚本中,程序退出时可以设置一个状态码。通常0为成功,其他值为错误。
#!/bin/bash
ping -c 1 www.baidu.com > /dev/null
if [ $? -eq 0 ]
then
echo "网络正常"
else
echo "网络故障"
exit 1
fi
在上面的例子中,通过ping命令的退出状态码来判断网络是否正常,如果异常则退出程序。
2、捕捉信号
#!/bin/bash
function cleanup()
{
echo "接收到信号"
exit 1
}
trap cleanup INT TERM
while true
do
echo "正在运行..."
sleep 1
done
上面的代码通过trap命令来捕捉INT和TERM信号,当收到信号时会执行cleanup函数。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/227780.html
微信扫一扫
支付宝扫一扫