解决Linux运行shell脚本提示No such file or directory错误提示
目录场景复现解决附上linux重启jar项目方法场景复现在Linux上面进行重启springboot项目时,手动在linux上面创建了sh文件,进行运行提示:【No such file or directory】解决在其他服务器中写好shell脚本测试正常,但只是复制文字到另一服务器上以脚本方式运行命令时提示No such file or directory错误,那么一般是文件格式是dos格式的缘
场景复现
在Linux上面进行重启springboot项目时,手动在linux上面创建了sh文件,进行运行提示:【No such file or directory】
解决
在其他服务器中写好shell脚本测试正常,但只是复制文字到另一服务器上以脚本方式运行命令时提示No such file or directory错误,那么一般是文件格式是dos格式的缘故,改成unix 格式即可。
附上亲测可用方法:
1、用vim打开该sh文件:【vi 文件名】
2、输入
:set ff
回车,显示fileformat=dos,需要改变格式
3、重新设置下文件格式,继续开始输入英文冒号
:set ff=unix
4、保存退出(继续冒号输入)
:wq
回车
5、到这一步,可以查看是否改变格式:vi 文件名.sh --> :set ff
就看看到修改成功
附上linux重启jar项目方法
只需修改process里面自己的jar名称即可,jar在lib下面才行,不然自己改重启脚本或者重写吧~
#!/bin/bash
source /etc/profile
process=$1
process='自己jar名称.jar'
pid=$(jps -l|grep $process |awk '{print $1}')
DIR="$( cd "$( dirname "$0" )" && pwd )"
parent_dir=`dirname "${DIR}"`
echo $parent_dir
#判断进程是否已经存在
if [ -z "$pid" ];
then
echo "pid is empty"
echo "现在正在启动"
nohup java -server -Xms256m -Xmx256m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true -jar $parent_dir/lib/$process > /dev/null 2>&1 &
else
echo "pid is not empty,$pid will be shutdown"
echo "Killing $process"
echo "------kill--- $pid ----"
kill -9 $pid
echo "------ kill success -------"
echo "The $process will be start after 3 seconds"
sleep 1
echo "The $process will be start after 2 seconds"
sleep 1
echo "The $process will be start after 1 second"
sleep 1
nohup java -server -Xms256m -Xmx256m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true -jar $parent_dir/lib/$process > /dev/null 2>&1 &
fi
就先说到这
\color{#008B8B}{ 就先说到这}
就先说到这
在下
A
p
o
l
l
o
\color{#008B8B}{在下Apollo}
在下Apollo
一个爱分享
J
a
v
a
、生活的小人物,
\color{#008B8B}{一个爱分享Java、生活的小人物,}
一个爱分享Java、生活的小人物,
咱们来日方长,有缘江湖再见,告辞!
\color{#008B8B}{咱们来日方长,有缘江湖再见,告辞!}
咱们来日方长,有缘江湖再见,告辞!
更多推荐
所有评论(0)