/bin/bash^M: 坏的解释器: 没有那个文件或目录

作者:fly 发布于:2016-7-26 8:41 分类:Linux

www.forwhat.cn

这跟系统有关。脚本文件在windows下编辑过,windows下每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,

用cat -A filename时你可以看到这个\r字符被显示为^M

cat -A 什么意思?

A就是all的意思,就是所有的都显示出现,也就是说\n\r默认是不显示的。

这时候只需要删除这个字符就可以了。


正则表达式sed -i 's/\r$//'filename

-i插入

s替代模式

\r$表示任何以\r结束的字符

整句意思是把以\r结束的字符换成空白



现在再运行就没这个问题了

发表评论:

 
Powered by emlog sitemap