crontab中的Bash脚本不起作用

脚本内容:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

rm list0.txt list1.txt list2.txt list3.txt print0.txt print1.txt print2.txt print3.txt

sleep 5

./checkip-1.sh </dev/null &>/dev/null &
sleep 5

./checkip-2.sh </dev/null &>/dev/null &
sleep 5

./checkip-3.sh </dev/null &>/dev/null &
sleep 5

./checkip-4.sh </dev/null &>/dev/null &
sleep 5

当我单独运行主脚本时,主脚本中的脚本运行良好,但从主脚本中调用它们时却无法正常运行。我试图使用此crontab条目运行它

cd /var/www/html/dashboard/scan/ && autoscan.sh
血红素

该脚本驻留在/var/www/html/dashboard/scan/并且目录不在您的目录中PATH,因此您不能仅仅通过autoscan.sh搜索PATH执行该脚本autoscan.sh

您需要提到该脚本在当前目录中:

cd /var/www/html/dashboard/scan/ && ./autoscan.sh

或者简单地:

/var/www/html/dashboard/scan/autoscan.sh

两者都假定脚本可以由运行它的用户执行。

除非您修改autoscan.sh脚本,否则最后一个脚本将对您不起作用,因为您正在./checkip-{1..4}.sh使用from中的相对路径来运行其他脚本autoscan.sh,因此需要一个cdinto /var/www/html/dashboard/scan/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章