shift命令来自英文单词“移动”,其功能是用于向左移动参数。Linux命令能够一次性接收多个参数,可能是0个,也可能是5个,又或是15个,那么该如何逐一处理这些参数呢?

shift能够将命令接收到的参数逐个向左移动一位,即原本的$3变量会覆盖$2变量,原本的$2变量会覆盖$1变量,这样我们只需要每执行一次shift命令后调用$1变量,就能够实现对全部参数的处理工作了。

语法格式:shift [参数]

常用参数:

数字 向左移动的个数

参考实例

编写一个脚本,逐一输出在执行shift命令后的$1变量值,直至清空全部参数:

[root@linuxcool ~]# cat File.sh 
#!/bin/bash
while [ $# != 0 ] ; do
echo "$1"
shift
done
[root@linuxcool ~]# ./File.sh AA BB CC DD
AA
BB
CC
DD

将参数向左移动2位:

[root@linuxcool ~]# cat File.sh
#!/bin/bash
while [ $# != 0 ] ; do
echo "$1"
shift 2
done
[root@linuxcool ~]# ./File.sh AA BB CC DD
AA
CC
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。