海豚飞 2011-06-10
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产生的。是一个单独的字符。
然后再mvnewfilename.plfilename.pl回来
这样就去掉了所有不兼容字符。
此时直接输入./filename.pl就可以运行了
****************************
不做如上处理的话,报的错一般是:
:badinterpreter:Nosuchfileordirectory
还有另一种省事的做法:
用ultraEdit/plusEdit之类的编辑器打开该文件,选择文件-->另存为,在对话框中选择
换行符:Unix终束符-LF
点击确定后,再上传到unix系统就好了。
转载自:http://www.scmbbs.com/cn/systp/2007/11/systp5.php