我有一个脚本,我想在我的系统启动时运行它并将其放入 中/etc/rc.local
,但它不起作用。我怎样才能让它在启动时运行?
小智 76
你能手动运行你的脚本吗?如果没有,则是该脚本有问题,否则请多看rc.local
. 如果该脚本需要作为 运行root
,则 sudo
必须使用 手动运行它。
/etc/rc.local
及其调用的脚本是可执行的:
ls -l /etc/rc.local
-rwxr-xr-x 1 root root 419 2010-08-27 11:26 /etc/rc.local
Run Code Online (Sandbox Code Playgroud)
rc.local
有一个 shebang 行,这是默认的:
head -n1 /etc/rc.local
#!/bin/sh -e
Run Code Online (Sandbox Code Playgroud)
小智 60
就我而言,这些说明都不是完美的解决方案,因此请尝试以下详细说明:
foo.sh
#!/bin/sh
为 中的第一行foo.sh
,执行它sudo foo.sh
以检查错误/etc/rc.local
,将完整路径名放在之前foo.sh
,以 , 开头:
sh
exit 0
sh '/path/to/your/script/foo.sh'
Run Code Online (Sandbox Code Playgroud)
/etc/rc.local
是#!/bin/sh -e
/etc/rc.local
可执行:
sudo chown root /etc/rc.local
sudo chmod 755 /etc/rc.local
Run Code Online (Sandbox Code Playgroud)
sudo /etc/init.d/rc.local start
Run Code Online (Sandbox Code Playgroud)
rub*_*o77 37
在较新的 Ubuntu 版本systemd
上使用并且/etc/rc.local
默认情况下并不总是加载。
检查兼容性服务是否加载
systemctl status rc-local.service
Run Code Online (Sandbox Code Playgroud)
如果它包含活动(退出),您的设置看起来不错,并且您的/etc/rc.local
文件中可能有另一个错误(例如,这可能是一个失败的命令)。
归档时间: |
|
查看次数: |
467142 次 |
最近记录: |