操作成对的(第一个+后续的)参数

时间:2017-08-30 17:09:15

标签: linux bash shell

我有一个脚本,其第一个参数是一个对象的标识符,每个后续参数都将与之对比。

我知道如何使用$1$2等来引用各个参数,但是如何存储第一个值然后循环遍历所有但是第一个?

1 个答案:

答案 0 :(得分:2)

对此的答案是对Iterate through parameters skipping the first的简单扩展(唯一的区别是需要在丢弃第一个参数之前存储它)。

使用shift从列表中弹出一个参数,以便您可以迭代其余参数。因此:

#!/usr/bin/env bash
first=$1; shift || exit
for arg; do
  echo "Using first argument $first with additional argument $arg"
done

如果您使用./theScript argA argB argC运行此脚本,您将获得以下输出:

Using first argument argA with additional argument argB
Using first argument argA with additional argument argC

......据我所知,这就是你要求的行为。