「Bash」- shift(学习笔记)

  CREATED BY JENKINSBOT

命令语法格式

shift [n]

命令含义

从n+1开始的参数,被对应到$1,而由$#开始到$#-n+1代表的参数会被重置掉。换句简单的话说:shift后面的n是几,那前几个参数就不要了,假装你没有传过。

参数n必须为非负整数,并且小于等于$#;

如果没有指定n,则n默认为1;

如果n > $#,则位置参数不发生改变;

如果n = 0,则参数不会发生改变;

返回状态

如果n > $#,返回的状态值大于0,或者小于0;

正常情况、没有错误,则返回0。

示例

#!/bin/bash

function cmd(){

	shift 2
	echo $@
}

cmd 1 2 3 4 5 6 7 8
# 该命令输出:3 4 5 6 7 8
# 此时n=2,那前两个参数就不要了。