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

Posted 夜雨惊风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Windows下生成的shell文件在上传到Linux上发现无法执行相关的知识,希望对你有一定的参考价值。

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

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

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

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

执行

[[email protected] Stock]$ sed -i s/
$// f_wdt_outsource_outbound_header.sh
[[email protected] Stock]$

后,执行成功

以上是关于在Windows下生成的shell文件在上传到Linux上发现无法执行的主要内容,如果未能解决你的问题,请参考以下文章

夺命雷公狗---linux NO:30 linux之通过X-Shell在windows上传文件到服务器上

windows下上传shell脚本不能运行—将dos模式修改为unix 文件格式

脚本从windows上传到linux无法执行

Linux服务器文件和windows本机文件互传方法(本地文件上传Linux,Linux文件下载到本机)

如何在SecureCRT下使用Zmodem传输文件

linux下中文文件名乱码解决