Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在bash中迭代命令过程中的部分位置参数?_Bash_Command_Arguments_Procedure - Fatal编程技术网

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

如何在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

我已经编写了一个命令过程,它接受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名称参数编译该过程
请使用双引号(
“${@:1:10}”
echo“$I”
)避免参数中出现有趣的字符(空格、通配符等)问题。