shell脚本启动jar

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,726评论 0 3
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 1,592评论 0 0
  • Tcp/IP通信也是不安全的,在传输的时候也可能出现漏洞 查看正在运行的进程 adb shell ps -A |g...
    远远飘着云阅读 4,606评论 0 0
  • 四十多岁了,一路走来,发现自己居然一事无成,满心间充满了惶恐。 其实,所谓的一事无成,大多是指自己的理想还没有实现...
    庄妈做东阅读 681评论 2 13
  • 分析用户: 喜欢什么?关注什么?在哪里出现? 1、什么样的内容能吸引他们阅读 2、什么渠道可以让他们看到 总体思路...
    运营思维阅读 379评论 0 0