/etc/init.d/ 中的脚本无法在 Ubuntu 15.10 中运行

/etc/init.d/ 中的脚本无法在 Ubuntu 15.10 中运行

我有一个脚本,它只是回显当前时间并将输出附加到文件。以下是 bash 脚本。

#!/bin/bash
#Filename: /etc/init.d/bootlog
#Bash script to record a timestamp.
echo "Time: `date`" >> /home/foo/Documents/.boot_log
exit

我希望每次我的计算机启动到运行级别 2 时都运行这个脚本,所以我将上述脚本放在/etc/init.d/具有执行权限的目录中root

$ ls -l /etc/init.d/bootlog 
-rwx------ 1 root root 161 Jan 12 11:02 /etc/init.d/bootlog
$

接下来,我添加了所需的符号链接,如下所示。

$ cd /etc/rc2.d/
$ sudo ln -s /etc/init.d/bootlog S06bootlog
$ sudo ls -l /etc/rc2.d/S06bootlog 
lrwxrwxrwx 1 root root 18 Jan 12 12:34 /etc/rc2.d/S06bootlog -> /etc/init.d/bootlog
$ 

完成上述步骤后,我原本希望脚本会在下次重启时运行。但是,脚本在启动过程中并未运行。我之所以能看到这一点,是因为文件.boot_log尚未创建。

$ cd /home/foo/Documents/
$ sudo ls -l -a .boot_log
ls: cannot access .boot_log: No such file or directory
$ 

我是否错过了任何步骤?或者我做错了什么?

答案1

是的,您在查找文件时做错了。

当您运行时cd /home/foo/Documents/ls -l -a .boot_log您尝试在/home/foo/Documents/文件夹中找到该文件。

然而,你的脚本/home/foo/按照将其存储在您的主目录中 ( ) >> /home/foo/.boot_log。尝试运行ls -la .boot_log/home/foo/文件应该会显示出来。

相关内容