Linux运行shell脚本出现出错,可能是环境编码不一致造成的。

在Linux环境中,尝试运行自编写的shell脚本时遇到错误,最初以为是语法错误,但检查后未发现问题。经排查,发现原因是Windows与Linux之间文件结束符的不一致导致。解决方案是通过vim编辑器设置文件格式为unix,从而消除异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,为了方便在linux中快速启动和关闭程序,编写了一个shell脚本,但是在启动的时候,并不顺利,执行脚本,报了了以下异常错误信息:

[root@izwz94v2sdd3vagmtoxauvz ~]# sh stop.sh 
stop.sh: line 2: $'\r': command not found
stop.sh: line 11: syntax error: unexpected end of file

刚开始,我以为是我编写脚本的时候出现了语法错误,然后我去仔细检查了一下,发现并没有什么语法错误,以下是我编写的简单shell脚本,主要作用就是关闭一个java服务

#!/bin/bash
PID=$(ps -ef | grep tbhb-admin.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo tbhb-admin.jar服务已关闭。
else
    echo 正在关闭tbhb-admin.jar服务:$PID
    kill $PID
fi

 经过多种途径,找到了以下解决方案:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roc-xb

真诚赞赏,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值