有一个代码思路:
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/