windows编写的脚本无法在Linux下执行

本文介绍了一个在Linux系统中运行从Windows系统编写的Shell脚本时遇到的报错,重点讲解了curl命令报'Illegal characters found in URL'的原因,并提供了三种方法:使用sed替换换行符、通过yum安装dos2unix工具转换文件格式,以及使用vim编辑器设置文件格式。
摘要由CSDN通过智能技术生成

报错如下:

]# bash curl.txt

curl: (3) Illegal characters found in URL

curl.txt: line 2: $'\r': command not found

出现原因:因为Shell脚本在Windows系统编写时,每行结尾是\r\n,而在Linux系统中行每行结尾是\n,所以在Linux系统中运行脚本时,会认为\r是一个字符,导致运行错误。

解决方法:

去除Shell脚本的\r字符:

方法一

]# sed -i 's/\r//' curl.txt

方法二

]# yum -y install dos2unix

]# dos2unix curl.txt

dos2unix: converting file curl.txt to Unix format ...

#Linux转windows

#unix2dos filename

方法三

]# vim curl.txt

末行模式执行set fileformat查看文件类型

:set fileformat

fileformat=dos

更改文件类型为unix

:set fileformat=unix

fileformat=unix

:wq保存退出

其他方法也欢迎大家贴在评论中,感谢

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值