![/etc/init.d/ 中的脚本无法在 Ubuntu 15.10 中运行](https://linux22.com/image/1132357/%2Fetc%2Finit.d%2F%20%E4%B8%AD%E7%9A%84%E8%84%9A%E6%9C%AC%E6%97%A0%E6%B3%95%E5%9C%A8%20Ubuntu%2015.10%20%E4%B8%AD%E8%BF%90%E8%A1%8C.png)
我有一个脚本,它只是回显当前时间并将输出附加到文件。以下是 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/
文件应该会显示出来。