问题背景:在windows下用notepad++编辑的php执行文件,上传到Linux后,执行提示文件不存在或者其中某行代码错误等信息。而相同的代码直接vi敲入则正常执行。
问题查找:错误定位认为是换行的问题,使用vi的命令行模式pattern替换^M,一直提示^Mpattern不存在。错误解读为这个pattern格式有问题,正确解读是,文件中并不存在^M。
真正的解决方法
1.使用dos2unix filename 经转换后,文件可执行
2. vi filename #打开文件
切换至命令行模式
:set ff #查看文件的格式会看到fileformat=dos 或者 fileformat=unix
:set ff=unix #设置为unix格式
:wq #保存退出
以上两种方法均解决了我的问题
提供两个链接:
http://blog.sina.com.cn/s/blog_7226f3660100uipz.html
http://www.laozuo.org/549.html
后记:记忆这东西,还是得反复多用才行。路是人走出来的,遇到问题,就多转转,总会找到办法。找不到?睡一觉继续找。