(-07-05 21:49:20)
转载▼
标签:it
分类:Ubuntu
1、最简单的方法:
在/etc/rc.local文件中exit 0 之间添加要自动运行的语句,如:
echo"shangyunfeitest" > /root/sss
重启系统后即可自动运行
2、在/etc/profile文件中末尾行添加,
如:
echo"shangyunfeitest" > /root/aaa
/root/abc.sh
Bash/root/aaa.sh
/etc/profile是在启动一个交互登陆shell的时候被调用
注意,对于死循环的脚本,必须在运行该脚本的语句后加&,使之后台运行,否则系统启动时会不停的进入死循环,无法进入系统。如:dynamic_address_change.sh是一个while(1)循环程序,则在/etc/profile中填入时,应写:bash /root/dynamic_address_change.sh&
3、带启动优先级的启动
编写shell脚本
gedit/etc/init.d/shangtest.sh
chmod +x/etc/init.d/shangtest.sh
ubuntu默认启动级别为2加载的脚本在/etc/rc2.d/
ln -s /etc/init.d/ shangtest.sh/etc/rc2.d/S99shangtest (ln意为建立快捷方式,-S为开始执,所有以S打头的文件才会自动执行,99为执行顺序,默认即可,shangtest为文件名),这样会在/etc/rc2.d文件夹下生成一个快捷方式S99shangtest,指向/etc/init.d/shangtest.sh。
这种方式可以在脚本文件中直接写bash /root/dynamic_address_change.sh 或者/root/dynamic_address_change.sh,而不一定要后台运行。
运行*.sh脚本默认运行等于命令bash *.sh运行方式,sh *.sh有时会有问题。
参考文献:
1./question/17344.html
2./%C1%EE%BA%FC%D2%BB%B6%FE/blog/item/59c223fb4151219a59ee90cd.html
3./article//0610/A0610291675.shtml