1、首先编写一个简单的shell脚本
进入vim后按i键,然后输入(#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。)
#!/bin/bash
echo"Helloworld!"
filename=`date"+%Y%m%d"`
echo$filename
然后先Esc再shift+z两次(保存)在命令行输入: chmod +x test.sh (赋予执行权限)
运行:./test.sh
查看命令的路径:whichls(假设查看ls命令的路径)
#后面的内容表示注释,要养成写注释的良好习惯
更多shell编程知识 shell编程简介
编辑 /etc/init.d/rc.local 文件,在最后加上你的脚本即可。
比如:我已经编写了一个脚本apk.sh,存放在/home/apk/下面
在Ubuntu终端输入: sudo nano /etc/init.d/rc.local
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
2、设置脚本开机自启动
方案一:
比如:我已经编写了一个脚本apk.sh,存放在/home/apk/下面
在Ubuntu终端输入: sudo nano /etc/init.d/rc.local
在结尾出加入: sh /home/apk/shell.sh //即可开机自动加载脚本
1) 将你的启动脚本复制到 /etc/init.d目录下
sudo cp test.sh /etc/init.d/
2)执行如下命令将脚本放到启动脚本中去:
cd /etc/init.d
sudo chmod 755 /etc/init.d/test.sh
sudo update-rc.d test.sh defaults95
方案二:
1) 将你的启动脚本复制到 /etc/init.d目录下
sudo cp test.sh /etc/init.d/
2)执行如下命令将脚本放到启动脚本中去:
cd /etc/init.d
sudo chmod 755 /etc/init.d/test.sh
sudo update-rc.d test.sh defaults95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
update-rc.d: warning: /etc/init.d/test missing LSB information
update-rc.d: see
卸载启动脚本的方法:
cd /etc/init.d
sudo update-rc.d -f test.shremove
注意事项:
开始我使用forever命令写了一个脚本,如下:
#!/usr/local/bin/forever
forever start /home/apk/apkAnalysis/app.js
cd /etc/init.d
sudo update-rc.d -f test.shremove
注意事项:
开始我使用forever命令写了一个脚本,如下:
#!/usr/local/bin/forever
forever start /home/apk/apkAnalysis/app.js
可是不论我使用什么方法它都启动不起来,后来发现它少了一个sudo权限:
#!/usr/local/bin/forever
sudo forever start /home/apk/apkAnalysis/app.js
所以在配置开机启动的时候一定要注意sudo的使用。
查看系统启动的日志:cat /var/log/boot.log
开始是一直都起不来,看了下日志,发现文件不存在;登录之后查看文件是存在的,可能是执行启动脚本的时候用户目录还没有mount上来