如何在bash中迭代命令过程中的部分位置参数?
我已经编写了一个命令过程,它接受12个位置参数。如何仅迭代前10个(例如)。如果我使用了如何在bash中迭代命令过程中的部分位置参数?,bash,command,arguments,procedure,Bash,Command,Arguments,Procedure,我已经编写了一个命令过程,它接受12个位置参数。如何仅迭代前10个(例如)。如果我使用了shift[n],那么参数$0会出现,但我不想使用它。 我可以使用类似列表理解的方法吗 for arg in [$1..$10] do echo $arg done 使用参数展开,如下所示: for i in "${@:1:10}"; do echo "$i" done 有关更多信息,请参见manbash->参数扩展->子字符串扩展请添加相关的语言标记。我正在编写一个命令过程,我使用bash
shift[n]
,那么参数$0会出现,但我不想使用它。
我可以使用类似列表理解的方法吗
for arg in [$1..$10]
do
echo $arg
done
使用参数展开,如下所示:
for i in "${@:1:10}"; do
echo "$i"
done
有关更多信息,请参见
manbash
->参数扩展->子字符串扩展请添加相关的语言标记。我正在编写一个命令过程,我使用bash名称参数编译该过程
请使用双引号(“${@:1:10}”
和echo“$I”
)避免参数中出现有趣的字符(空格、通配符等)问题。