我有一台 Fedora 14 机器,其中有一个 init 脚本,该脚本尝试在启动守护进程之前静态配置一对以太网端口。从命令提示符手动启动服务时,init 脚本按预期工作。但是,当脚本作为启动过程的一部分运行时,ifconfig 返回零(没有错误代码或消息),但无法为每个端口分配不同的 IP 地址。
有什么想法可能是什么原因造成的?
答案1
我使用自定义脚本时遇到的最常见问题是,我需要在调用每个程序时设置 PATH 或使用完整路径。
听起来你有一个自定义脚本,因此发布你的脚本会很有帮助。
一些通用的 bash 脚本调试想法:将其放在set -e
脚本顶部附近,以强制 bash 在出现错误时退出,或者对于更详细的消息,添加错误检查并将消息写入系统日志:
/sbin/ifconfig ...
if [ "$?"-ne 0]; then logger "$0 - ifconfig failed with code $?"; exit 1; fi
答案2
问题的具体原因仍不清楚,但是,禁用“网络”脚本可以消除冲突,从而使我的脚本能够正确配置端口。