如何在bash中的命令过程中迭代部分位置参数?

时间:2014-05-05 11:43:20

标签: bash command arguments procedure

我编写了一个带有12个位置参数的命令过程。我怎样才能只遍历前10个(例如)。如果我使用shift [n],则参数$ 0会出现,但我不想使用它。 我可以使用列表理解之类的东西吗?:

for arg in [$1..$10]
do 
   echo $arg
done

1 个答案:

答案 0 :(得分:2)

使用参数扩展如下:

for i in "${@:1:10}"; do
   echo "$i"
done

有关详细信息,请参阅man bash - > Parameter Expansion - > Substring Expansion