2
我有简单bash脚本,在终端工作手册,但cron的后给出了一个空的可变运行。运行的cron后击空可变的,但手动
#!/bin/bash
gwip=`/usr/bin/nmcli dev list iface eth0 | grep IP4-SETTINGS.GATEWAY: | awk '{ print $2}'`
printf '%s\n' "$(date) =- $gwip -= " >> /var/log/looog.log
运行:/bin/bash /test.bash
输出文件/var/log/looog.log:
1 monday 2016 14:17:36 +0300 =- 23.18.117.254 -=
当我通过cron运行,变量是空的。
*/1 * * * * root /bin/bash /test.bash
输出文件/var/log/looog.log:
1 monday 2016 14:19:13 +0300 =- -=
为什么变量$ gwip是空的?如何解决它?
我在looog.err.log错误:**(过程:11885):WARNING **:nm_client_get_devices:错误越来越设备:未收到回复。可能的原因包括:远程应用程序未发送回复,消息总线安全策略阻止回复,回复超时过期或网络连接中断。 错误:未找到设备'eth0'。 –
嗯,这是你的错误。为什么'nmcli'将不会从您的系统上运行的cron是不是真的有很大的StackOverflow问题 - 它一定会是一个事实深入调查 - 但我会通过看是否已启用SELinux的开始。如果您将其设置为许可但记录模式,则可以让您找出哪些权限是必需的但不可用。 –
......该错误使得它相当清楚地表明庆典正在它甚至从cron应有的方式,这样的话你没有一个变量捕获的问题,对不对?这里有问题的其他子集吗? –