gpt4 book ai didi

Bash - 在 if 语句中从 crontab -l 读取

转载 作者:行者123 更新时间:2023-12-04 18:46:54 25 4
gpt4 key购买 nike

我正在尝试读取 crontab -l 的输出验证是否正确添加了 cronjob。
crontab -l 的输出现在是:
0 */3 * * * ~/scripts/snapshot.sh (这是应该的)。

我要检查的脚本如下:

#!/bin/bash

if `crontab -l` = "0 */3 * * * ~/scripts/snapshot.sh"; then
echo "Done creating a cronjob"
else
echo "NOTICE: Failed creating a crontab"
fi

如果我执行以下操作,我尝试了多种方法,但都没有奏效:
#!/bin/bash
croncheck=`crontab -l`

echo $croncheck

#or
#echo `crontab -l`

输出显示:
0 */3 cronjobs scripts test.sh cronjobs scripts test.sh cronjobs scripts test.sh ~/scripts/snapshot.sh
而不是它应该显示的内容(它应该是什么)。

最佳答案

我会使用正则表达式进行搜索,但如果正则表达式中仍有一些魔力,请对其进行一些测试。这也可以扩展以匹配任何有效时间,而不仅仅是您提供的时间。

if [ -z "`crontab -l | grep '^0 \*/3 \* \* \* ~/scripts/snapshot.sh' `" ]; then
echo "not found, something is wrong"
else
echo "found, this is ok"
fi

关于Bash - 在 if 语句中从 crontab -l 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32059283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com