运行一个 shell 脚本 N 次

Posted

技术标签:

【中文标题】运行一个 shell 脚本 N 次【英文标题】:Run a shellscript N times 【发布时间】:2021-05-22 17:42:47 【问题描述】:

我试图通过在另一个 shell 脚本中编写以下代码来运行一个 shellscript N 次,例如 loopRun.sh

#!/bin/bash
for i in 1..20
do
exec sampleShellscript.sh;
sleep 10
done

如下执行shellscript

sh -x loopRun.sh

内部 shellscript 运行了大约 30 秒,它没有循环就退出

请建议可以做些什么来达到预期的结果

【问题讨论】:

这可能会有所帮助:help exec 顺便说一句:sh (Bourne-shell) 通常不是 bash (Bourne-again shell)。 【参考方案1】:

exec 命令将当前的 shell 进程替换为正在执行的程序。如果程序完成后需要继续当前脚本,请不要使用它。

#!/bin/bash
for i in 1..20
do
    sampleShellscript.sh;
    sleep 10
done

由于1..20 是一个bash 扩展,您不能使用sh 运行脚本。使用

bash -x loopRun.sh

【讨论】:

以上是关于运行一个 shell 脚本 N 次的主要内容,如果未能解决你的问题,请参考以下文章