shift命令:用于参数位置的移动。
select命令:用于创建菜单,按数字顺序排列菜单项并将列表显示在标准输出上面,并提示用户输入,使用便利PS3指定提示语。
select命令是一个循环命令,需要使用break退出循环,或使用exit退出脚本程序。
执行shift命令后,位置变量($1~$9)中的命令行参数会依次向左传递。
($1表示第一个参数、$2第二个、$# 参数个数、$0脚本名称,$*所有参数)
shift命令实例:计算多个整数值的和,需要计算的各个数值由用户在执行脚本时作为命令行参数给出。
#! /bin/bash
sum=0
while [ $# -gt 0 ]
do
let sum=sum+$1
shift
done
echo "this sum is:$sum"
select命令格式:
select 变量 in 列表
do
命令
done
select命令实例:
PS3变量被赋值为提示语句,出现在菜单选项下面,select循环由program变量和显示在菜单上的列表(ls -F,pwd和date)组成,
用户在菜单中选择数字后,就相当于执行了括号右边的命令,select循环会一直执行,直到用户按下ctrl+c退出。
#! /bin/bash
PS3="select a program to execute:"
select program in 'ls -F' pwd date
do
$program
break 加上break为程序执行完一次即退出
done