Linux下执行Shell脚本出现target 'xxx/xxx/\r' is not a directory
一、出现的问题
路径后面多出了个\r
二、原因
Windows和Linux下的xxx.sh脚本文件格式不同,如果在Windows下编辑xxx.sh脚本在上传到linux上,脚本内有空格的话就会出现这个问题。
windows下的换行符是\r\n,linux下的换行符是\n,没有识别/r,所以会报没有这样的文件或目录,这个属于脚本编码的问题。
三、解决方法
在Linux上编辑脚本 vim或vi
vim xxx.sh
切换成英文输入法按(Shift + :)
:set ff=unix
:wq
重新运行脚本即可解决
sh xxx.sh