一、原理

Windows编译的文件和Linux编译的文件格式不太一样,导致在Linux运行Shell脚本的时候会提示:/bin/bash^M: bad interpreter: 没有那个文件或目录。

原因是这样的:

1、Windows编译的文件结束时(回车+换行)

2、Linux编译的文件结束时(换行)

           

这样导致了Windows编译的文件放在Linux中会有[noeol]和[dos]的Flag标示。

如果运行CAT命令可以更直观的看到两个不同操作系统产生的文件差异,Windows产生的shell脚本文件中多了一个^M。

命令格式:cat -A filename
cat -A windows.sh
cat -A linux.sh

二、解决办法

在Windows生成的脚本进入vim编译模式,输入“:set fileformat=unix #转换成unix格式”,回车后wq保存退出即可。

现在可以用./Window.sh或者sh Window.sh在Linux中运行Shell脚本了,很神奇有木有^-^

大功告成~

(原创)Windows下编译的Shell脚本不能再Linux中运行的解决办法的更多相关文章

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

    windows下上传shell脚本至linux,其格式将为dos.dos模式的shell脚本将不能再linux下正确运行,需要修改文件模式为unix. 1 查看文件模式方法 linux服务器上,用vi ...

  2. 关于windows下编写的shell脚本在linux下无法运行报错问题

    首先,你写的shell脚本必须是正确的, 其次,无法运行的原因:因为windows下的换行是两个字节,而你上传到linux,linux下换行是两个字节,所以编译的酒不正确的,导致无法 运行脚本, 这种 ...

  3. Windows下怎么执行shell脚本

    1.在windows下想要执行shell脚本,需要使用到"Git Bash",所以我们需要先安装Git. 2.查看Git环境变量是否配置,没有配置需要配置(我这里安装Git时自动配 ...

  4. windows下数据库文件使用脚本同步到linux下的mysql数据库中

    1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...

  5. Windows下安装postgresql_psycopg2时出现 "Unabled to find vcvarsall.bat" 的解决办法

    使用django时会用到postgresql的数据库,如下表: 数据库引擎设置 设置 数据库 适配器 postgresql PostgreSQL psycopg 版本 1.x, http://www. ...

  6. windows下mongoengine报错False is not a read preference.的解决办法

    mongoengine是基于pymongo的,后者的3.0版本在windows下似乎会有这个问题,解决方法就是降级: pip install pymongo==2.8 来源:upgrade to py ...

  7. windows下写的shell脚本到linux上不能运行

    win上是dos模式,需要改成unix模式 方法是: 在linux上vim 打开脚本,然后:set ff=unix

  8. windows下使用 Secure Shell Client工具操作linux常用命令

    如果项目部署在linux系统上,而我们使用的是windows系统,那我们可以使用Secure Shell软件进行操作,那怎么使用它来操作tomcat呢? 1.  cd /usr/share/apach ...

  9. windows下使用git管理代码,其中出现的问题的解决办法

    和朋友共同开发一个小项目,所以就涉及到了代码管理这块,刚开始想到的是使用svn,但是外网访问svn的时候需要使用花生壳来弄一个动态的域名,中间出了很多错误,感觉有点麻烦,所以就想到看看还有别的管理代码 ...

随机推荐

  1. STL-map-A - Let the Balloon Rise

    A - Let the Balloon Rise Contest time again! How excited it is to see balloons floating around. But ...

  2. cocos Studio 特效文件播放失败

    可能是json文件中file的Path不对引起的.因为生成的path是根据文件在项目中的path生成的,即当此特效不是项目的一级目录时,会带有项目中上级目录,导致找不到文件(不会报错). ccs.lo ...

  3. linux-安装、启动nginx

    1.下载安装pcre库 pcre是一个正则表达式库,nginx的rewrite模块需要依赖该库. 下载地址:http://www.pcre.org/ wget https://ftp.pcre.org ...

  4. 3.获取某天的最大时间和最小时间,使用Calendar

    if (taxTraySummaryListDTO.getStartDate() != null) { Calendar cal = Calendar.getInstance(); cal.setTi ...

  5. sql查询 —— 分页

    -- 分页 -- limit -- limit start count (start 显示骑士值,单页数量) select *from student where gender=1 limit 6,3 ...

  6. Hydra暴力破解工具

    hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [- ...

  7. C#中向ListView控件中添加一行数据

    C#中向ListView控件中添加一行数据: ,先声明一个ListViewItem: ListViewItem item = new ListViewItem(); ,添加第一列数据: item.Te ...

  8. python中一行字符串太多写不下时怎么写

    ‘123456789‘ 见此博客    https://www.cnblogs.com/wanderingzj/p/5244451.html str1=('123 '455' '789') 这样的话, ...

  9. leetcode 925. Long Pressed Name

    判定是否长按 var isLongPressedName = function (name, typed) { var i = 1, j = 0, n = name.length, m = typed ...

  10. 家庭记账小账本Android studio

    经过长达7天多的时间,从Android studio的安装碰到很多的问题,真的很不走运,别人安装Android studio都是一气呵成,我的Android真的没话说 把自己的这些天的开发成果展示一下 ...