在Windows下生成的shell文件在上传到Linux上发现无法执行

为了批量生成shell文件,我在Windows下用knime循环生成一批shell文件,在上传到Linux上执行时发现报错:

[ft@localhost Stock]$ ./f_wdt_outsource_outbound_header.sh 
-bash: ./f_wdt_outsource_outbound_header.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录
[ft@localhost Stock]$ 

在将shell文件内的代码完全复制到一个新建的shell文件下,发现执行成功。

发现原因是win下空格之类符号与Linux下不一致,因此编译错误

执行

[ft@localhost Stock]$ sed -i 's/
$//' f_wdt_outsource_outbound_header.sh
[ft@localhost Stock]$

后,执行成功

原文地址:https://www.cnblogs.com/yyjf/p/10327235.html