我编写了一个带有12个位置参数的命令过程。我怎样才能只遍历前10个(例如)。如果我使用shift [n]
,则参数$ 0会出现,但我不想使用它。
我可以使用列表理解之类的东西吗?:
for arg in [$1..$10]
do
echo $arg
done
答案 0 :(得分:2)
使用参数扩展如下:
for i in "${@:1:10}"; do
echo "$i"
done
有关详细信息,请参阅man bash
- > Parameter Expansion
- > Substring Expansion