我有一个 bash 脚本,它每分钟检查一次 .txt 文件,并在必要时调用另一个脚本。
我正在使用cron
这个,这是在 root 的 crontab 中;
* * * * * /home/****/scripts/protocol_checker.sh
由 cron 调用的脚本;
cat protocol_checker.sh
#!/bin/bash
if grep -q "activate jammer" /etc/proto.txt; then
echo "`TZ=Turkey date` Calling jam.sh" >>/home/****/scripts/log/jam.log
./home/****/scripts/jam.sh
echo "`TZ=Turkey date` called jam.sh as `whoami`" >> /home/****/scripts/log/jam.log
我知道它运行正常,因为日志文件:
Thu Jan 1 05:40:01 EET 1970 Calling jam.sh
Thu Jan 1 05:40:01 EET 1970 called jam.sh as root
文件权限为:
-rwxr-xr-x 1 **** **** 577 Oct 4 18:21 jam.sh
-rwxr-x--- 1 **** **** 343 Oct 4 13:45 protocol_checker.sh
问题就在这里:protocol_checker.sh
执行时,它应该依次执行 jam.sh,但实际上却没有。我甚至尝试只使用一行简单的echo "hey"
代码jam.sh
。一切看起来都很好?任何帮助都将不胜感激。
答案1
./home/****/scripts/jam.sh
更改为:
。 /主页/****/scripts/jam.sh
注意点后有一个空格