shell文件报错Monitor.sh: line 3: syntax error near unexpected token `$'{\r''

本文解决了一个在Windows下编写的Shell脚本在Linux环境下运行时报错的问题,原因是Windows与Linux处理换行符的方式不同。文章提供了检查及转换换行符的方法,以及如何使用sed命令进行文件处理。

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

在window下编写的一个shell,运行一切正常,放到linux上运行报以上错误,根据网上资料,是因为windows与linux在处理换行有所不同,dos格式的"\r\n",linux/unix格式的"\n",我们可以使用cat -v 文件名,进行检查,如果是以^M则需要转换为linux 下的换行符:

具体转换办法就是转换换行符
可以用sed命令处理一下文件,命令如下:
sed 's/\r//' 原文件 >转换后文件,再查看新文件,ok解决!

检查shell语法:bash -n 文件名

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值