linux循环执行echo命令,linuxecho - 重复命令n次

linuxecho - 重复命令n次1.简介

重复命令是使用Linux脚本时最常用的操作之一。

在本快速教程中,我们将介绍如何使用不同的方法执行n次操作。

linuxecho - 重复命令n次.使用for循环

让我们从定义一个我们将在整个示例中使用的任务开始。为简单起见,我们将“命令”一词打印到控制台五次。我们还将尽可能包含迭代编号。

让我们直接进入它并从好的旧“for-loop”开始:

for i in {1..5}

do

echo "Command no. $i"

done

以上示例导致输出:

Command no. 1

Command no. 2

Command no. 3

Command no. 4

Command no. 5

我们还可以将这些操作压缩成一个单行解决方案:

for i in {1..5}; do echo "Command no. $i"; done

对于我们需要基于条件的表达式的场景,我们也可以使用更多编程风格的方法:

for ((i=0;i<5;i++)); do echo "Command no. $i"; done

linuxecho - 重复命令n次3.使用while循环

要实现可重复的命令,我们还可以使用“while-loop”:

i=1

while [[ $i -le 5 ]]; do

echo "Command no. $i"

let ++i;

done

与前面的示例一样,我们可以在一行中实现此循环:

i=1; while [[ $i -le 5 ]]; do echo "Command no. $i"; let ++i; done

linuxecho - 重复命令n次4.使用seq和xargs

现在让我们使用一种不太直接的方法,这种方法被证明非常有效。

根据Linux文档,seq打印数字序列和  xargs构造参数列表并对每个参数执行指定的命令。

考虑到这一点,我们可以管道这两个操作来创建一个可重复的命令:

seq 5 | xargs -I{} echo "Command no. {}"

在上面的示例中,我们将-I   标志与占位符字符串“{}”一起使用。然后,定义的命令中的占位符将替换为序列号,从而产生我们在上面看到的相同输出。

linuxecho - 重复命令n次5. Bash功能

到目前为止描述的每个解决方案都需要一些样板代码。

如果我们想经常使用可重复的命令,我们可以将我们的一个例子重写为一个bash函数:

function repeat(){

for ((i=0;i

eval ${*:2}

done

}

我们现在可以在shell中使用我们的函数:

repeat 5 echo "Command"

在上面的例子中,我们使用  eval来使用不可执行的命令,比如变量赋值。

我们还引入了$ {*:2},它从索引2开始计算所有命令输入变量的数组。

由于我们的实现接受多个参数,我们还可以将多个命令传递给我们的repeat函数:

repeat 5 echo "Command" ";" echo "Another command"

linuxecho - 重复命令n次6. ZSH

之前描述的示例对每个bash shell都有效,但是还有其他解决方案,如ZSH。

这个shell有一个简单的内置函数,用于重复命令n次:

repeat 5 echo "Command"

对于多个命令:

repeat 5 {echo "Command1"; echo "Command2"}

7.结论

在本文中,我们探讨了多次重复Linux命令的几种方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值