1.编辑启动脚本start.sh
#!/bin/sh
# jar包所在的目录
cd /home/boss/admin
# 将admin-provider-0.0.1.jar 修改为自己的jar包名
nohup java -jar admin-provider-0.0.1.jar&
exit 0
2.编辑停止脚本stop.sh
#!/bin/sh
# 将admin-provider-0.0.1.jar修改为自己的jar包名
PID=$(ps -ef | grep admin-provider-0.0.1.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
3.编辑查看日志脚本log.sh
#!/bin/bash
tail -f /home/boss/admin/nohup.out
4.给脚本授权命令
chmod 777 start.sh
chmod 777 stop.sh
chmod 777 log.sh
坚持才能得到最好的(一个脚本搞定)
编写脚本
#!/bin/sh # jar包路径 HOME='/home/boss/admin' start(){ #进入命令所在目录 cd $HOME nohup java -jar admin-provider-0.0.1.jar & } stop(){ # 将admin-provider-0.0.1.jar修改为自己的jar包名 PID=$(ps -ef | grep admin-provider-0.0.1.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill $PID fi } log(){ tail -f $HOME/nohup.out } case $1 in start) start ;; stop) stop ;; log) log ;; restart) $0 stop sleep 5 $0 start ;; *) echo "Usage: {start|stop|restart}" ;; esac exit 0
错误:-bash: ./admin.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录
错误原因:有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为脚本文件在windows下>编辑过。在windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文>件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示>为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/\r$//' filename。
解决方案: 把
fileName
换成自己的脚本名称,这里是admin.sh
sed -i 's/\r$//' fileName
网友评论