小技巧总结(1):linux下执行脚本报not found,去除^M(windows文件格式转为linux格式)

本文介绍了在Linux环境下运行从Windows获得的sh脚本时遇到的‘-/bin/sh:XXX.sh:notfound’错误的原因及解决办法。问题在于文件格式变成了Windows格式,表现为行尾有^M字符。解决方案包括使用dos2unix命令工具或者使用notepad++编辑器进行文件格式转换。这两种方法简单实用,能有效解决跨平台脚本执行问题。

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

前言:工作遇到这样一个问题,编写好的sh脚本,调试完毕后,在windows下通过邮件发送给同事后,同事放在linux环境下运行报:"-/bin/sh:XXX.sh:not found"错误。

通过排查,发现sh脚本的文件格式变为了windows格式了,使用命令:cat -A filename可查看是否为windows格式(换行有^M)、linux格式(行结尾为$)

解决方案1:在linux下,可使用dos2unix命令工具;

用法:dos2unix filename

解决方案2:使用notepad++编辑器

用法:使用notepad++打开需要转换的文件,在编辑器的右下放双击windows(CR LF),然后选择unix即可

当然还有其他很多方法,但这两种比较实用,所以记录下来。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值