解决shell脚本执行报错:sudo: unable to execute ./script.sh: No such file or directory

文章讲述了在处理脚本跨平台运行时遇到的兼容性问题,主要是由于Windows和Unix/Linux系统之间的换行符差异。dos2unix工具用于将Windows格式的换行符 转换为Unix/Linux标准的 ,而unix2dos则执行相反操作。通过使用dos2unix转换脚本文件,可以确保在不同操作系统上正确执行。
摘要由CSDN通过智能技术生成

导致这个问题的原因大部分是脚本跨平台编写和运行的兼容性有问题。
这里我们用dos2unix工具将脚本的格式转换一下。

dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n
,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。

而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。

命令语法:

dos2unix [options] [-c convmode] [-o file …] [-n infile outfile …]

unix2dos [options] [-c convmode] [-o file …] [-n infile outfile …]

sudo apt-get install dos2unix -y
dos2unix test.sh
sudo chmod u+x test.sh && sudo ./test.sh

转换完成后,亲测shell脚本可以正常运行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AiFool

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值