我有一个脚本,其第一个参数是一个对象的标识符,每个后续参数都将与之对比。
我知道如何使用$1
,$2
等来引用各个参数,但是如何存储第一个值然后循环遍历所有但是第一个?
答案 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
......据我所知,这就是你要求的行为。