zoukankan      html  css  js  c++  java
  • shell脚本--shift参数左移

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

    下面一个例子:

    #!/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:~$ 
    

      上面这个例子,可以将参数列表看做一个队列,在命令行输入命令的时候,参数从左到右依次入队,然后每次shift一次,则队首的参数出队,队列元素个数($#)减1,知道减为0时,循环结束。

  • 相关阅读:
    Java static keyword
    Final Keyword In Java
    Underscore template
    Query.extend() 函数详解-转载
    js闭包for循环总是只执行最后一个值得解决方法
    mui scroll和上拉加载/下拉刷新
    mui 手势事件配置
    118. 杨辉三角
    [ 周赛总结 ] 第 185 场力扣周赛
    55. 跳跃游戏
  • 原文地址:https://www.cnblogs.com/-beyond/p/8279853.html
Copyright © 2011-2022 走看看