代码块特别是:
for n in {1..$PASSEDARGS}; do
printf "%s\n" "$n"
done
以下代码块不起作用,而是打印{1..3}
其中 3 是传递给脚本的参数数量的值。
如何让程序打印参数$n
?
答案1
使用 Bash 的类似 C 的 for 循环语法:
for (( i = 1; i <= PASSEDARGS; ++i )); do
printf "%s\n" "$i"
done
答案2
for n in $(seq $#); do
printf "%s\n" "$n"
eval echo argument at $n: \$$n
done