shift:用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理
shift(shift 1)命令每执行一次,变量的个数($#)减一(之前的$1变量被销毁,之后的$2就变成了$1),而变量值提前一位。同理,shift n后,前n位参数都会被销毁,如:输入5个参数(a b c d e),那么$1=a,$2=b,$3=c,$4=d,$5=e,执行shift 3操作后,前3个参数a、b、c被销毁,就剩下了2个参数:d,e(这时d=$1,e=$2,其中d由$4 -> $1,e由$5 -> $2),参考示例如下:

until [ $# -eq 0 ]
doecho "第一个参数为:$1 参数个数为:$#"shift
done执行以上程序: ./test.sh a b c d e
# 结果如下:
第一个参数为: a 参数个数为: 5
第一个参数为: b 参数个数为: 4
第一个参数为: c 参数个数为: 3
第一个参数为: d 参数个数为: 2
第一个参数为: e 参数个数为: 1

Shell脚本之shift用法相关推荐

  1. shell shift与{}_一文掌握shell脚本中shift的用法及功能

    概述 今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的. 一.shift介绍 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数 ...

  2. Linux中shift命令的用法,一文掌握shell脚本中shift的用法及功能

    概述 今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的. 一.shift介绍 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数 ...

  3. shell脚本之echo用法

    shell脚本之echo用法 1.echo常见转义符号 符号 功能描述 \b 退格键(backspace) \f 换行但光标仍停留在原来的位置 \n 换行且光标移至行首 \r 光标移至行首但不换行 \ ...

  4. shell脚本中的$用法

    shell脚本中的$用法 变量 含义 $0 shell脚本的文件名 $1 ~ $n 添加到shell脚本中的各参数: 即执行shell脚本时后跟的内容: $1为第1参数,$2为第2参数 $? shel ...

  5. shell脚本常用语句用法笔记

    脚本基本语句用法笔记 grep -i 查询时不区分大小写 -n打印匹配的行号 -v 打印不匹配的行 -AX包括每次匹配之后X行 -BX包括每次匹配之后X行 cat /etc/passwd |grep ...

  6. Shell脚本中$的用法

    2019独角兽企业重金招聘Python工程师标准>>> $0: 脚本名称,相对路径还是绝对路径要看调用的方式.如果是在父目录中,./dollarTest.sh调用,那么$0就是 ./ ...

  7. shell脚本的一些用法笔记

    1.在一般命令窗口输入的命令直接拷贝到脚本文件中就可以执行. 2.判断文件或文件夹是否存在.具有执行权力等.[改写自网络] #!/bin/shNovaPath="/var/log/httpd ...

  8. Linux shell脚本中shift的用法说明

    原文:https://blog.csdn.net/zhu_xun/article/details/24796235 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历 ...

  9. Linux shell 脚本之shift 命令实战

    位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...

  10. shell脚本之case用法

    你会经常发现自己在尝试计算一个变量的值,在一组可能的值中寻找特定值.在这种情形下, 你不得不写出很长的if-then-else语句,就像下面这样. $ cat test25.sh#!/bin/bash ...

最新文章

  1. Docker系列教程09-使用Docker Hub管理镜像
  2. 区块链应用和法律规范
  3. FFmpeg4.1编译:mac+android-ndk-14b+ffmpeg4.1成功编译
  4. linux合并两个文件 去重复,c - 在Linux中使用C,通过系统调用将两个文本文件合并为一个新文件(来回换行) - 堆栈内存溢出...
  5. 【机器学习基础】前置知识(五):30分钟掌握常用Matplotlib用法
  6. StackExchange.Redis性能调优
  7. [react] react中的setState执行机制是什么呢?
  8. 论文浅尝 | Global Relation Embedding for Relation Extraction
  9. HTML 超级链接详细讲解
  10. 53 - 9. 回文数
  11. 第12章[12.10.1] Ext JS + CKEditor+Spring Boot 实现编辑器图片上传
  12. 仿百度外卖的酷炫水波纹效果
  13. java将时间戳转换成字符串_java 时间戳与日期字符串相互转换详解
  14. vue uniapp如何实现横向滚动周历,横向滚动一周日历
  15. CoreOS裸机安装步骤(亲测)
  16. php桌面快捷方式图标,window_Win10桌面图标没了怎么办?Win10桌面快捷方式消失了解决方法,不少使用windows10系统的朋友都 - phpStudy...
  17. 电阻电容串联并联关系,一辈子受益
  18. manjaro install ftp server
  19. 数据分析项目实战——Airbnb数据分析
  20. 腾讯微信客服电话号码是多少呢/腾讯微信人工服务热线

热门文章

  1. 字体小三、小四号字的数字表示是多少
  2. C# winform 右下角弹窗
  3. iptables中DNAT、SNAT和MASQUERADE
  4. word打开总是安装解决方法
  5. windows10为何鼠标右键一点桌面就一直转圈?
  6. Windows7内部版本7601此Windows副本不是正版黑屏怎么办!!!
  7. After Effects 学习
  8. 360主机卫士linux安装软件,360主机卫士linux版|360主机卫士 for Linux v0.5.7官方版 - 121下载站...
  9. Pytorch并行处理机制
  10. EXCEL中拟合公式的问题