windows编写的文本文件,在linux下发现每行的后面都多了字符“^M”。
导致有的脚本无法直接执行,如perl脚本,可能就必须要用 perl **.pl的形式来执行脚本了,
即使在第一行指定:
#! /usr/bin/perl
还是不可以,原因就是这个换行格式造成的。
怎么解决这个换行符的问题呢?
解决方法::
输入命令:sed 's/^M//' filename.pl>newfilename.pl
注意:这个^M不是按shift+6再加字母M产生的,而是要直接拷贝过来,或者按ctrl+v再回车产生,或者ctrl+v再ctrl+m产生的。是一个单独的字符。
然后,再mv newfilename.pl filename.pl回来,这样就去掉了所有不兼容字符。
此时直接输入 ./filename.pl 就可以运行了。
不做如处处理,则一般会报错:
: bad interpreter: No such file or directory
另一种简单的解决方法:
用ultraEdit/plusEdit之类的编辑器打开该文件,选择文件-->另存为,在对话框中选择
换行符:Unix 终束符 -LF
点击确定后,再上传到unix系统即可。