有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/\r$//' urfile 。有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/\r$//' urfile 。
bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
最新推荐文章于 2022-01-10 18:58:09 发布
本文介绍了解决从Windows环境下编辑的脚本文件移植到Linux环境时出现的换行符不兼容问题。通常情况下,Windows脚本文件每行结尾会包含额外的回车字符(
),这在Linux系统中会被视为多余的字符并显示为^M。文章提供了使用sed命令进行批量替换以移除这些多余字符的方法。
2300

被折叠的 条评论
为什么被折叠?



