linux - 如何在无限循环中执行一次命令

标签 linux bash infinite-loop

有一个代码思路:

while true; do
*check variable*
if [ variable == true ]; then
*command1 to execute*
.
.
.
*commandN to execute*
fi
done

如何在不离开此循环的情况下仅执行command1一次? 显然,每次 variable 为 true 时,command1 应该只执行一次?

编辑:我不想离开循环,因为它是 headless debian 家庭服务器/存储设备监控脚本的一部分。检查变量用于检查 VPN 连接是否打开。或者文件夹中是否有新文件。或者如果有新用户登录。触发器可能是无数的。 Command1 是发送有关它的电子邮件通知。或者将新行写入自定义日志文件。再次,无数的应用程序。我不想每次迭代都被邮寄。这一切都是关于永不停歇地检查状态并在状态更改后执行命令。

最佳答案

如果您只希望变量执行一次,请将变量保留在循环之外 -

关于linux - 如何在无限循环中执行一次命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55052116/

相关文章:

javascript - promise.then 是不是异步的?

windows - 从 Windows 机器连接到 Linux VPS 盒子

linux - 如何使用现有数据库

linux - 保护包含空格的参数免受 eval 的影响

python - 如何启动 Python ipython shell,自动在其中运行一些命令,并保持打开状态?

c - 为什么这个例子在C中陷入了无限循环?

linux - 从帧缓冲区读取之前是否需要使缓存失效?

linux - 从 shell 脚本动态地为调用脚本提供默认输入

string - 在 bash 中将两个字符串与 "-"连字符进行比较

javascript - 如何重复这个功能