我以为我已经找到了一种可移植或 POSIX 兼容的方法来获取 shell 脚本中的参数范围,但我已经忘记了它,而且似乎再也找不到它了。我认为它的语法看起来像${@:1}
or 。这个方法:${@:1:3}
bash
- 可以获得第n个参数之后的所有参数。
- 从第 n 个参数开始到第 m 个参数的参数范围,并给出要获取的范围的长度。
- 没用过
shift
。 - 没用过
eval
。 - 没用过
$*
。 \x00
处理参数时,对参数中的字符(除了 )没有任何限制。
可能是什么?如果我可能没有真正看到我认为看到的方法,是否有一种方法可以获取传递给可移植/POSIX 兼容并满足上述要求的脚本或函数的参数范围?
答案1
如果是 AWKing,是这个吗(抱歉,如果我没有很好地理解你的问题)?
awk '
BEGIN{
first=3;
last=7;
for(i=3;i<=7;i++)
print ARGV[i];
}
' ${@:+"$@"}