首页 > 代码库 > Shell编程中Shift的用法
Shell编程中Shift的用法
Shell编程中Shift的用法
Bash中,数组变量的赋值有两种方法:
(1) name = (value1 ... valuen) 此时下标从0开始
(2) name[index] = value
下面以一个简单的脚本来说明,脚本内容如下:
#!/bin/shuntil [ $# -eq 0 ]doecho "第一个参数为: $1 参数个数为: $#"shiftdone
执行以上程序x_shift.sh:
[root@AY1404171530212980a0Z test]# ./test 11 22 33 44 55 66 77
结果显示如下:
第一个参数为: 11 参数个数为: 7第一个参数为: 22 参数个数为: 6第一个参数为: 33 参数个数为: 5第一个参数为: 44 参数个数为: 4第一个参数为: 55 参数个数为: 3第一个参数为: 66 参数个数为: 2第一个参数为: 77 参数个数为: 1
从上可知 shift 命令每执行一次,变量的个数($#)减一,而变量值提前一位,
下面代码用 until 和 shift 命令计算所有命令行参数的和。
#!/bin/shif [ $# -eq 0 ]thenecho "Usage:x_shift2.sh 参数"exit 1fisum=0until [ $# -eq 0 ]dosum=`expr $sum + $1`shiftdoneecho "sum is: $sum"
执行上述程序:
[root@AY1404171530212980a0Z test]# ./test2 11 22 33 44 55 66 77sum is: 308
Shift 命令还有另外一个重要用途, Bash 定义了9个位置变量,从 $1 到 $9,这并不意味着用户在命令行只能使用9个参数,借助 shift 命令可以访问多于9个的参数。
Shift 命令一次移动参数的个数由其所带的参数指定。例如当 shell 程序处理完前九个命令行参数后,可以使用 shift 9 命令把 $10 移到 $1。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。