码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本--shift参数左移

时间:2018-01-13 18:49:35      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:结构   test   highlight   while   .sh   意思   gpo   div   class   

参数左移什么意思呢?这个参数指的是在运行脚本时,跟在脚本名后面的参数,前面已经讲过,可以使用$#来获取参数的个数,使用$*来获取所有的参数,而参数左移的含义是这样的:有个指针指向参数列表第一个参数,左移的意思就是每读一个参数,指针就指向第二个参数,就好像参数向左移动了,于是乎,这样就可以读取每个参数的值了,在循环结构中特别常用。

下面一个例子:

#!/bin/bash
#文件名:test.sh

tot=0
while [ $# -gt 0 ]
do
    echo "参数为"$1  #注意这里使用$1来获取参数值
    tot=$(($tot + 1))
    shift       #注意如果不使用shift时,会出现死循环
done
    echo "一共$tot个参数"

  运行测试:

ubuntu@ubuntu:~$ ./test.sh
一共0个参数
ubuntu@ubuntu:~$ ./test.sh abc xyz
参数为abc
参数为xyz
一共2个参数
ubuntu@ubuntu:~$ 

  

shell脚本--shift参数左移

标签:结构   test   highlight   while   .sh   意思   gpo   div   class   

原文地址:https://www.cnblogs.com/-beyond/p/8279853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!