rc.local 并不总是在启动时执行

sta*_*orn 5 boot scripts

嘿,我对位于/etc/rc.local事物中的 rc.local 文件有一些奇怪的问题,当我启动笔记本电脑时它并不总是运行。也许每两次,我都没有数过。无论如何,当发生这种情况时,我必须手动转到终端并键入sudo /etc/init.d/rc.local start,这有点破坏了拥有此脚本的目的。有谁知道可能是什么问题?

编辑

因为这并不明显。这是我重新启动的问题。这意味着我已经关闭了计算机。并且下次开机时,rc.local 文件随机决定是否自动启动。

这是我的 rc.local 文件包含的内容的副本

echo -n 255 > /sys/devices/platform/i8042/serio1/serio2/sensitivity 
echo level 2 > /proc/acpi/ibm/fan
touch /home/starcorn/Desktop/foo

rfkill block bluetooth
exit 0
Run Code Online (Sandbox Code Playgroud)

And*_*mar 1

将 放在touch第一行,并确保它触及每个人都具有写访问权限的目录中的文件。

然后,记录所有错误,例如:

echo -n 255 > /sys/devices/platform/i8042/serio1/serio2/sensitivity 2> /your/log/file
echo level 2 > /proc/acpi/ibm/fan 2> /your/log/file
touch /home/starcorn/Desktop/foo >> /your/log/file 2>&1

rfkill block bluetooth >> /your/log/file 2>&1
exit 0
Run Code Online (Sandbox Code Playgroud)

告诉>> logfile 2&>1shell 将错误消息记录到与正常输出相同的文件中。唯一2> logfile记录错误。

这些变化会发生什么?

  • `2>&1 >> logfile` 不会将 stdout 和 stderr 重定向到日志文件;stderr 将转到终端,stdout 将转到日志文件。但是,`>> logfile 2>&1` 会将 stdout 和 stderr 重定向到日志文件。请参阅http://mywiki.wooledge.org/BashFAQ/055 (2认同)