CentOS 上的 crontab 中的空输出

Empty output in crontab on CentOS

我写了一个简单的获取IPv4地址的脚本,如下:

#!/bin/bash

ip -4 addr | grep inet | awk -F '[ \t]+|/' '{print }' | grep -v ^127.0.0 | tr '\n' ' '

当我从 bash 运行 时,它运行良好。现在我创建了一个 crontab 条目并希望将 ip 地址输出到一个 tmp 文件:

* * * * * /root/ipv4.sh >> /tmp/tmp.txt

没有任何内容写入 /tmp/tmp.txt,尽管 /tmp/tmp.txt 每分钟都会被触摸。它仅在 Cent OS 上发生,而在 Ubuntu 上它按预期工作。

通过在脚本中将 ip 更改为 /sbin/ip 解决了问题。