13.1.【shift命令】
• Shift指令:参数左移,每执行一次参数序列顺次左移一个位置,$#的值减1
• 作用:分别处理每个参数,移出去的参数不再可用
13.2.【shift原理】
• until [ $# -eq 0 ]
• do
• echo "第一个参数为: $1 参数个数为: $#"
• shift
• done
• 执行以上程序x_shift.sh:
• $./x_shift.sh 1 2 3 4
• 结果显示如下:
• 第一个参数为: 1 参数个数为: 4
• 第一个参数为: 2 参数个数为: 3
• 第一个参数为: 3 参数个数为: 2
• 第一个参数为: 4 参数个数为: 1
• 从上可知shift命令每执行一次,变量的个数($#)减一,而变量值提前一位
13.3.【用shift实现加法计算】
#!/bin/bash
if [ $# -le 0 ]; then
echo “Not enough parameters”
exit 1
fi
sum=0
while [ $# -gt 0 ]
do
sum=`expr $sum + $1`
shift
done
echo $sum
13.4.【小技巧】
• 在windows下创建或修改了shell script改成linux格式:
• cat shell.script | col –b > shell.script
13.5.【Shell程序调试】
• sh –x script
这将执行该脚本并显示所有变量的值
• sh –n script
不执行脚本只是检查语法模式,将返回所有错误语法
• sh –v script
执行脚本前把脚本内容显示在屏幕上
---------------------------------------------------------------------------------