ip 不起作用/使用 cron 运行时不产生输出

ip 不起作用/使用 cron 运行时不产生输出

我有一个使用该ip r命令的 bash 脚本。当我在 bash 中运行该脚本时,它可以工作,但当 cron 运行它时,它却不工作。

这是我的脚本中的一行:

ping -q -w 1 -c 1 `ip r | grep -m 1 default | cut -d ' ' -f 3` >/dev/null || exit

为了测试ip r命令是否存在问题,我notify-send "TEST $(ip r)"在该行前面添加了。当我在 bash 中执行脚本时,它会发送带有 TEST 的通知和输出,ip r但当使用 cron 运行时,通知仅包含TEST

答案1

$PATH使用 cron 运行时未设置变量。因此,我在 bash 中运行,echo $PATH然后$PATH在 crontab 命令中将变量设置为该输出。

为此我添加了

eval "export PATH=/usr/local/bin:/usr/bin:/usr/local/sbin :/usr/sbin:/home/alex/.local/bin"

其中,crontab -e之后的所有内容都是在 bash 中运行时PATH=命令的输出。echo $PATH

相关内容