shift命令的使用:

对于某个命令行参数,其参数个数可以不固定,但是可以通过$*或$@进行循环操作。若用户要求Shell在不知道变量个数的情况下,还能逐个处理参数,也就是在$1之后是$2,$2之后是$3。在未运行shift命令之前$1是可用的,当使用shift命令之后,原来的$2会变成$1,并且原有的$1变得不可用,通过$#命令获得的参数个数也会少1。

示例如下:

#测试shift命令(x_shift.sh)

until [ $# -eq 0 ]

do

echo "第一个参数为: $1 参数个数为: $#"

shift

done

执行以上程序x_shift.sh:

$./x_shift.sh 1 2 3 4

结果显示如下:

第一个参数为: 1 参数个数为: 4

第一个参数为: 2 参数个数为: 3

第一个参数为: 3 参数个数为: 2

第一个参数为: 4 参数个数为: 1

从上可知shift命令每执行一次,变量的个数($#)减一,而变量值提前一位,下面代码用until和shift命令计算所有命令行参数的和。

#shift上档命令的应用(x_shift2.sh)

if [ $# -eq 0 ]

then

echo "Usage:x_shift2.sh 参数"

exit 1

fi

sum=0

until [ $# -eq 0 ]

do

sum=`expr $sum + $1`

shift

done

echo "sum is: $sum"

执行上述程序:

$x_shift2.sh 10 20 15

其显示结果为: 45

shift命令还有另外一个重要用途,Bsh定义了9个位置变量,从$1到$9,这并不意味着用户在命令行只能使用9个参数,借助shift命令可以访问多于9个的参数。

shift命令一次移动参数的个数由其所带的参数指定。例如当shell程序处理完前九个命令行参数后,可以使用shift

9命令把$10移到$1。

linux shift命令,Linux中的shift命令相关推荐

  1. Linux系统Shell脚本中的echo命令

    Linux系统Shell脚本中的echo命令 echo的作用       输出字符串 格式                  echo  "字符串内容" 一,显示转义字符 转义字符 ...

  2. 在 Windows 命令行中实现 cp 命令

    第一步,创建一个文本文件,输入如下内容: @echo off copy %* 第二步,将上面的文本文件另存为 cp.bat 保存到 C:\Windows 目录下,然后就可以用了 如果按照本示例的用法, ...

  3. linux中top命令_Linux中的top命令指南

    linux中top命令 The atop command is a tool for monitoring system resources in Linux. It displays tons of ...

  4. linux导出日志命令_Linux中的导出命令

    linux导出日志命令 In this guide, we will look at the export command in Linux. Export is a built-in command ...

  5. linux中nohup命令_Linux中的Nohup命令

    linux中nohup命令 When exiting the shell of a Linux System, all running processes are usually terminated ...

  6. linux中sudo命令_Linux中的Sudo命令

    linux中sudo命令 Sudo is one of the most widely used commands by Linux administrators and beginners alik ...

  7. linux查找一个文件中abc字段命令,Linux查询命令整理(示例代码)

    在linux中,查找命令主要有find和grep,以及mlocate/locate 区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间 ...

  8. java解析shell命令_Android中执行java命令的方法及java代码执行并解析shell命令

    这篇文章给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习 android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析 ...

  9. 如何在命令行中使用 ftp 命令上传和下载文件

    转摘:https://linux.cn/article-6746-1.html 本文中,介绍在 Linux shell 中如何使用 ftp 命令.包括如何连接 FTP 服务器,上传或下载文件以及创建文 ...

  10. python调用shell命令-python中执行shell命令的几个方法小结

    最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 复制代码 代码如下: os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或 ...

最新文章

  1. 图灵有奖书评征集活动第001期
  2. iptables 实现centos内网机器访问外网
  3. python map lambda 分割字符串_python之lambda、filter、map、reduce的用法说明(基于python2)...
  4. 强迫症慎入:一大票让人看哭的音量键设计即将袭来
  5. AIX系统Memory性能评估
  6. 关于C#的Main(String[] args)参数输入问题
  7. 做订购系统必须要明白的几点
  8. mysql function 事务_MySQL 事务
  9. 用英伟达Jetson Nano运行PyTorch Fast.ai丨手把手教程+第三方工具
  10. python源代码文件_Python代码编译与反编译
  11. 国密 java springboot 实现 maven依赖 SM2 SM3 SM4 介绍及示例代码 技术专家
  12. java 添加盲水印_图片加数字盲水印
  13. win7计算机远程桌面连接,Win 7连向Win7系统远程桌面连接设置
  14. 中科大自主招生2018年笔试数学之四
  15. 【工具分享】任意坐标系CAD范围线多点配准及准确导入导入LSV
  16. 晏殊几何学导读花间流风方程定义与引理
  17. 【渝粤教育】电大中专跨境电子商务理论与实务 (22)作业 题库
  18. java 延时队列_Java实现简单延迟队列和分布式延迟队列
  19. 干5年外包,突然失业了。。。
  20. 互斥事件的概念和公式_专题49 互斥事件和独立事件的概率及条件概率(打包)-2019年高考数学(理)名师揭秘之一轮总复习...

热门文章

  1. 就业协议服务器,就业协议书可以复印吗
  2. Echarts绘制地图带标记tooltip
  3. Minitab中相关系数R-Sq和修正R-Sq(adj)的意思,计算公式和区别[转载]
  4. 通用爬虫实现的原理及过程
  5. 【Furion】InfluxDB数据获取
  6. echarts图表自动滚动
  7. 【软件工程】面向对象方法
  8. 计算机硬盘位显示none,电脑磁盘变成了空闲盘怎么办,特急?
  9. 怎么设置控制台前景和背景颜色
  10. tornado中log使用与logging模块的关联影响详解