Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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 运行命令N次_Bash_Shell_Unix - Fatal编程技术网

Bash 运行命令N次

Bash 运行命令N次,bash,shell,unix,Bash,Shell,Unix,如果不在bash中执行for循环,有没有办法执行N次命令?例如: $ pulldown 123 && pulldown 123 && # ...etc [100 times] 可以使用while循环,如下所示: i=0 while [ $i -lt 100 ]; do echo $i i=`expr $i + 1` done $ ruby -e '100.times { |i| puts i }' 或者,可以与-e开关一起使用

如果不在bash中执行
for
循环,有没有办法执行N次命令?例如:

$ pulldown 123 && pulldown 123 && # ...etc [100 times]

可以使用
while
循环,如下所示:

i=0
while [ $i -lt 100 ]; do
        echo $i
        i=`expr $i + 1`
done
$ ruby -e '100.times { |i| puts i }'
或者,可以与-e开关一起使用,如下所示:

i=0
while [ $i -lt 100 ]; do
        echo $i
        i=`expr $i + 1`
done
$ ruby -e '100.times { |i| puts i }'

您可以使用for循环,只需忽略参数:

for i in $(seq 1 100); do pulldown 123; done
如果出于某种原因,您绝对不能使用for循环,那么可以使用
xargs-n1
并忽略参数,如下所示:;
-n1
表示每行输入运行一次命令,
-I XXX
表示用当前输入行替换命令中所有出现的XXX(但由于我们在命令中不使用它,因此忽略它):


你为什么不想做一个循环呢?这是执行类似操作的正常方式。您的示例实际上与for循环不同,
&&
将在命令具有非零返回时中断链。这是你真正想要的吗?也就是说,在出错时中断的for循环使用
while
循环。可能重复的