本文使用 Ubuntu 自带的 update-rc.d 实现开机自动运行脚本的功能。

创建脚本

vim test-start

测试脚本

#!/bin/sh

# 在当前用户目录创建一个空的txt文本文档
touch $HOME/111.txt

添加生效

sudo mv test-start /etc/init.d/
sudo chmod 755 test-start
sudo update-rc.d test-start defaults 2
sudo systemctl restart test-start

检测是否生效

root@ubuntu:reboot
root@ubuntu:/etc/init.d# cd $HOME
root@ubuntu:~# ls
111.txt snap
root@ubuntu:~$ systemctl status test-start
● test-start.service
Loaded: loaded (/etc/init.d/test-start; generated)
Active: active (exited) since Mon 2022-02-07 19:47:48 PST; 51s ago
Docs: man:systemd-sysv-generator(8)
Process: 776 ExecStart=/etc/init.d/test-start start (code=exited, status=0/SUCCESS)

Feb 07 19:47:48 ubuntu systemd[1]: Starting test-start.service...
Feb 07 19:47:48 ubuntu systemd[1]: Started test-start.service.

删除脚本自动执行的方法

cd /etc/init.d
sudo update-rc.d -f test-start remove
sudo systemctl daemon-reload

大功告成!!!!

update-rc.d的详细参数

使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):

update-rc.d [-n] [-f] <basename> remove
update-rc.d [-n] <basename> defaults
update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
update-rc.d <basename> start|stop <NN> <runlevels>
-n: not really
-f: force
(adsbygoogle = window.adsbygoogle || []).push({});