Linux shell脚本中shift的用法说明

来源:互联网 发布:甲骨文软件 薪资 编辑:程序博客网 时间:2024/05/21 07:01
shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本)

示例1:依次读取输入的参数并打印参数个数:
run.sh:
[java] view plain copy
  1. #!/bin/bash  
  2. while [ $# != 0 ];do  
  3. echo "第一个参数为:$1,参数个数为:$#"  
  4. shift  
  5. done  

输入如下命令运行:run.sh a b c d e f

结果显示如下:

第一个参数为:a,参数个数为:6
第一个参数为:b,参数个数为:5
第一个参数为:c,参数个数为:4
第一个参数为:d,参数个数为:3
第一个参数为:e,参数个数为:2
第一个参数为:f,参数个数为:1

从上可知 shift(shift 1) 命令每执行一次,变量的个数($#)减一(之前的$1变量被销毁,之后的$2就变成了$1),而变量值提前一位。

同理,shift n后,前n位参数都会被销毁

原创粉丝点击