我偶尔会像这样运行bash命令行:

n=0; while [[ $n -lt 10 ]]; do some_command; n=$((n+1)); done

在一行中运行some_command多次——在本例中为10次。

通常some_command实际上是一个命令链或管道。

有没有更简洁的方法呢?


当前回答

在(bashref)循环构造中提到的for的替代形式如何?

其他回答

如果你正在使用zsh shell:

repeat 10 { echo 'Hello' }

其中10是命令将被重复执行的次数。

使用常量:

for ((n=0;n<10;n++)); do
    some_command; 
done

使用变量(可以包括数学表达式):

x=10; for ((n=0; n < (x / 2); n++)); do some_command; done

我用这个循环来求解,其中repeat是一个整数,表示循环的个数

repeat=10
for n in $(seq $repeat); 
    do
        command1
        command2
    done
for _ in {1..10}; do command; done   

注意使用下划线而不是变量。

此命令可重复执行此命令10次或更多次

for i in {1..10}; do **your command**; done

例如

for i in {1..10}; do **speedtest**; done