通过rc.local执行bash脚本

对不起,新问题,但我不是一个强大的scripter无论如何。 我有一个简单的bash脚本,我创build时,手动执行完美的罚款。 另外,如果我手动运行“/etc/rc.local”它将完全执行脚本! 我的问题是,从启动rc.local将不会执行整个脚本和即时通讯麻烦确定为什么。

这是脚本:

#!/bin/bash # Retrieve instance ID from metadata GET http://169.254.169.254/latest/meta-data/local-ipv4 > /metadata # Replace Hostname in zabbix.conf with instance ID from metadata sudo sed -i "s/td1wb-b01/$(cat metadata)/g" /etc/zabbix/zabbix_agentd.conf # Replace Hostname with instance ID from metadata sudo hostname $(cat metadata) sudo sed -i "s/web2/$(cat metadata)/g" /etc/sysconfig/network # Restart the zabbix agent to register sudo service zabbix-agent restart exit 0 

它似乎开始运行,因为我看到/元数据文件出现。 在第一行之后,没有别的东西在执行。 任何帮助是极大的赞赏!!

谢谢

你的脚本调用“sudo”来获得额外的权限。 Sudo要求您以交互方式login,或者调用它的用户最近已经交互使用了sudo。 删除sudo,只要脚本本身以root身份运行,你应该没问题。

你应该删除sudorc.local是由root运行的。