在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/\r$//‘ f_wdt_outsource_outbound_header.sh
[[email protected] Stock]$

后,执行成功

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

时间: 2024-12-29 11:12:14

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

在Windows上通过Xshell将文件上传到Linux上

步骤: 一.下载Xshell 二.在Linux主机上,安装上传下载工具包rz及sz 如果不知道你要安装包的具体名称,可以使用yum provides */name 进行查找系统自带软件包的信息: [[email protected] src]# yum provides */rz lrzsz-0.12.20-27.1.el6.i686 : The lrz and lsz modem communications programs Repo        : base Filename    :

在window上面的txt文件上传到Linux上出现乱码问题

这个是由于,window上的txt编辑器用的编码格式和显示的CRT不是同一编码造成的. 解决方式1:更改CRT上面的编码格式. 解决方式2:在linux平台上用iconv命令纠正中文乱码 [[email protected] ~]# cat haha.txt °???????????asdfsadf °????????????????? [[email protected] ~]# iconv -f gbk -t utf8 haha.txt > haha.txt.utf8 [[email pro

windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系统下输入的换行符在UNIX/Linux下不会显示为“换行”,而是显示为 ^M 这个符号(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的). 可以使用下面几种方法处理: 1.使用vi的替换功能.启动vi,进入命令模式,输入以下命令: :%s/^M$//g

linux下生成core dump文件方法及设置【转】

转自:http://blog.csdn.net/mrjy1475726263/article/details/44116289 源自:http://andyniu.iteye.com/blog/1965571 core dump的概念: A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has te

windows下如何将Python文件打包成.exe可执行文件

在使用Python做开发的时候,时不时会给自己编写了一些小工具辅助自己的工作,但是由于开发依赖环境问题,多数只能在自己电脑上运行,拿到其它电脑后就没法运行了.这显得很不方便,不符合我们的初衷,那么有没有一种什么办法可以使我们编写好的程序,可以直接在各种windows下运行的呢? 答案是:有的,说到windows大家都能想到( .exe )这个东西吧!没错,就是把Python编写的代码打包成可执行的 exe 文件,直接在系统上运行,这个问题不久完美解决了吗? 下面就来讲讲如何实现,具体如下: 安装

Windows下如何将一个文件夹通过Git上传到GitHub上(转)

在通过windows系统的电脑上写代码,需要将项目上传到GitHub上去.比如在Pycharm上写Django后端,整个项目是一个文件夹的形式,那么怎么才能这个文件夹通过Git命令上传到GitHub上呢? 以下给出详细步骤: 1.首先得安装git客户端 安装方法很简单,跟安装QQ之类的一样,进入官网:https://git-scm.com/ ,点击右侧下载windows版本的软件包,然后双击安装,一步一步下一步就可以了. 安装完成之后,在开始菜单可以看到如下就算是成功了: 此时,在任一文件夹上右

Windows下PHP修改Hosts文件的方法

通过PHP程序完成修改Hosts文件原理如下: 1,首先是写一个.bat文件 2,使用system(),调用.bat完成修改Hosts的目的 代码如下: //创建.bat $filename = "updata.bat"; //'@echo 127.0.0.1 baidu.com >>C:\Windows\System32\Drivers\etc\hosts 关于.bat中的内容可以参考DOS命令行 file_put_contents($filename,'@echo 12

Windows 和 Linux 中的换行与回车的区别,Windows下编写的Shell脚本,直接放到linux/unix下执行会报错

首先: CR(Carriage Return)表示回车 LF(Line Feed)表示换行 Dos和Windows采用回车+换行(CR+LF)表示下一行而UNIX/Linux采用换行符(LF)表示下一行苹果机(MAC OS系统)则采用回车符(CR)表示下一行 Windows下编写的Shell脚本,直接放到linux/unix下执行会报错,就是因为行结束符不一样导致的. 现在好多文本工具都提供了转换功能,如我常用的,也是最强大的工具 (个人感受,不是打广告):notepad++. 原文地址:htt

linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。

首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要安装工具包:   yum -y install lrzsz ok   操作方式是,在当前目录下 执行: rz    就会出现一个windows的弹框,选择你要上传到linux服务器上的文件点击确认就可以. 常用参数 -b 以二进制方式,默认为文本方式.(Binary (tell it like it