Heim > Fragen und Antworten > Hauptteil
在本地windows,写了个sh脚本,用filezilla,sftp协议上传到center os下,权限777,但是执行总是报错,没有修改过任何字母,在centeros下重新创建了个sh文件,把内容复制进去,然后就可以正常运行了,完全不懂这是为何,把两个文件下载下来对比的编码格式是一样的,求各位解答,实在是困惑!
PHPz2017-04-10 15:30:55
该问题已确认为编码问题,在notepad++中编辑时虽然是以utf8格式编码,但是还有个地方是需要转码的,windows和linux/unix的换行和空行符是不同的,所以在windows下编辑的脚本放到linux上就运行不了了,后查到在notepad++中可以进行转码。
这样转码之后再上传到linux就可以正常运行了,不过网上也有说是上传工具的问题之类的说法,我用的是filezilla没有设置过什么东西都是下载就用,暂时没发现上传工具有什么影响。
各位答主所说的方法并没有每个都试过(抱歉了),再次看到邮件提醒有问题在这儿,赶紧过来贴出解决方法!
ringa_lee2017-04-10 15:30:55
方法有很多:
dos2unix
命令sed -i 's/\r//' CRLF.txt