pedroo Asked: 2010-10-28 15:35:13 +0800 CST2010-10-28 15:35:13 +0800 CST 2010-10-28 15:35:13 +0800 CST 如何让 /etc/rc.local 在启动时运行? 772 我有一个脚本我想在我的系统启动时运行并将其放入/etc/rc.local,但它不起作用。我怎样才能让它在启动时运行? scripts startup 4 个回答 Voted Best Answer Roger Pate 2010-10-28T17:15:35+08:002010-10-28T17:15:35+08:00 你能手动运行你的脚本吗?如果不是,那是那个脚本有问题,否则多看rc.local. 如果该脚本需要运行为root, sudo则必须用于手动运行它。 Ensure/etc/rc.local及其调用的脚本是可执行的: ls -l /etc/rc.local -rwxr-xr-x 1 root root 419 2010-08-27 11:26 /etc/rc.local 确保rc.local有一个 shebang 行,这是默认设置: head -n1 /etc/rc.local #!/bin/sh -e shvahabi 2014-01-07T09:36:00+08:002014-01-07T09:36:00+08:00 就我而言,这些说明都不是完美的解决方案,因此请尝试以下详细说明: 以任意名称将所有执行代码保存在单独的文本文件中,例如foo.sh #!/bin/sh作为第一行添加foo.sh,通过执行它sudo foo.sh来检查错误 在中,/etc/rc.local将 的完整路径名放在foo.sh前面: shexit 0sh '/path/to/your/script/foo.sh' 验证第一行/etc/rc.local是#!/bin/sh -e 确保/etc/rc.local可执行: sudo chown root /etc/rc.local sudo chmod 755 /etc/rc.local 验证一切正常: sudo /etc/init.d/rc.local start 重启测试 rubo77 2016-04-22T00:06:37+08:002016-04-22T00:06:37+08:00 在较新的 Ubuntu 版本systemd上使用,并且/etc/rc.local默认情况下并不总是加载。 检查是否加载了兼容性服务 systemctl status rc-local.service 如果它包含活动(退出)您的设置似乎很好,并且您的/etc/rc.local文件中可能有另一个错误(例如,这可能是一个失败的命令)。 Ankit 2011-06-30T13:12:12+08:002011-06-30T13:12:12+08:00 2个建议。 确保目标脚本文件也被标记为可执行。 目标脚本是否运行sudo命令?如果是这样,您可能需要为其提供 sudo 密码。 我的错。那就查一个吧。感谢您的更正 enzotib :)
你能手动运行你的脚本吗?如果不是,那是那个脚本有问题,否则多看
rc.local
. 如果该脚本需要运行为root
,sudo
则必须用于手动运行它。/etc/rc.local
及其调用的脚本是可执行的:rc.local
有一个 shebang 行,这是默认设置:就我而言,这些说明都不是完美的解决方案,因此请尝试以下详细说明:
foo.sh
#!/bin/sh
作为第一行添加foo.sh
,通过执行它sudo foo.sh
来检查错误/etc/rc.local
将 的完整路径名放在foo.sh
前面:sh
exit 0
/etc/rc.local
是#!/bin/sh -e
/etc/rc.local
可执行:在较新的 Ubuntu 版本
systemd
上使用,并且/etc/rc.local
默认情况下并不总是加载。检查是否加载了兼容性服务
如果它包含活动(退出)您的设置似乎很好,并且您的
/etc/rc.local
文件中可能有另一个错误(例如,这可能是一个失败的命令)。2个建议。
目标脚本是否运行sudo命令?如果是这样,您可能需要为其提供 sudo 密码。我的错。那就查一个吧。感谢您的更正 enzotib :)