Windows端创建的Shell脚本上传到Linux,运行报错问题解决

Windows环境运行Shell的工具—— cmder 编写的Shell脚本程序一般都是在Linux环境运行,直接在Windows环境中的cmd命令行运行Shell脚本,是会报错的。但是非想在Windows环境运行Shell脚本不是不可能的,需要借助第三方工具cmder,实现你在Windows环境运行的Shell梦想。 一、编写一个简单的Shell脚本(demo.sh) #!/bin/bash #author pengw #time 2019-1... 阅读详情

一、原因

报错信息:/bin/bash^M: bad interpreter: No such file or directory

Windows平台和Linux平台之间的文件格式不一样导致;

因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。

二、解决

1. 解决方案

# Step1:Open the shell
vi test.sh

# Step2:Set the file format
: set ff=unix
或:set fileformat=unix

# Step3:Save and quit
:wq

2. 查看文件格式

如果显示 “fileformat=unix”,则表明修改成功,然后再运行脚本,就不会报下面的错误:

Shell脚本运行报错 今天自己学习一下shell脚本的编写和运行,第一步就直接报错了出师不利,报的错误是-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory,相信很多人跟我环境类似,所以把报错到解决的过程贴出 阅读详情

相关推荐

Mac用户必看:Parallels Desktop 18.1.1最新破解版安装与优化全攻略(附资源)

本文为Mac用户提供Parallels Desktop 18.1.1的详细安装与优化指南,涵盖虚拟化技术选型、专业级配置流程及性能调优技巧。重点解析Parallels Desktop在图形加速、系统资源调度方面的核心优势,并分享生产力增强技巧与典型应用场景实战方案,帮助用户最大化利用这一高效虚拟化工具。

weixin_29240343的博客 817

shell IF命令报错

if命令 代码如下: a=$(file /file/videoclip.aar) b=$(file /filed/videoclip.aar) #统计当前目录下文件个数 if [$a -eq $b];then echo "文件一样正确" else echo "文件不一样" fi 报错:没有那个文件或目录 我按照报错确定两个文件夹内是有该文件的 (场景:因为我写测试...

qq_42692494的博客 1228

手把手教你安装 Vivado2019.2(附安装包)

Vivado 2019.2 作为 Xilinx 公司发布的一款设计套件版本,具有多个显著的优点,以下是对其优点的详细归纳

dpwkj的博客 1万+

linux 简单脚本fi报错,shell脚本报错:"[: =: unary operator expected"

shell脚本报错:"[: =: unary operator expected"在匹配字符串相等时,我用了类似这样的语句:if [ $STATUS == "OK" ]; thenecho "OK"fi在运行时出现了 [: =: unary operator expected 的错误,就一直找不到原因,尝试了删除等号两侧的空格和括号里的空格都不管用,最后baidu了一下,才找到原因。把语句改成这样...

weixin_39860064的博客 1273

jaka+realsense+aruco+手眼标定(python)

第二次重建了项目的手眼标定部分……有很多第一次记录遗漏的地方,在此补充。

drivenzyw的博客 2122

通俗易通解释SLAM问题的数学描述:运动方程和观测方程

高翔博士在他的《视觉SLAM十四讲》中把SLAM问题的数学描述抽象成了两个数学方程,以下对此做个总结,并且对此做一些通俗易懂的解释: 一、方程的总体形式 作为理性层次的描述,我们引入数学方程来描述SLAM过程,其中第一个方程叫做运动方程、第二个方程叫做观测方程,想象一下我们在研究SLAM的时候肯定需要观测机器人(无人汽车、无人机等都可以统称为机器人)的运动(画面感很强哈哈),这样很容易理解并且记忆这两个方程的名称和意义: 二、变量的含义 我们看到,这两个方程中有大量的英文字母作为变量存在其中,下面介绍一下

weixin_41855010的博客 7109

创建shell脚本

创建shell脚本 目的:多条命令依次执行,省去了挨条语句敲写的麻烦 步骤:1.创建文本文档,命名后用notepad++打开 2.双击右下角windows改为Unix。 3.编写命令语句。(注意,开头必须为#!/bin/bash) 4.保存退出后将文件类型.txt改为.sh 5.将写好的脚本上传至Linux文件夹中(进入指定目录后,rz上传) 6.上传完成后输入sed -i 's/\r$//' filename,将文件中由于Windows下创建自带的换行命令转化为Linux下的换行命令^M,防

mypleasure_的博客 2434

2.13寸电子墨水屏HINK-E0213+esp8266

很久以前买的一块电子墨水屏,运气很好,这个型号HINK-E0213资料很全,而且微雪官网也有相关电路资料等。

梦境虽美,却不长. 3002

Shell脚本

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)myname='galley' #单引号,字符串类型,不解析任何字符courses="abcdefg" #双引号,内部会解析$和反斜杠特殊字符sum=100;price=1.2544 #如果是数字,可以不加引号now_date=`date` #反引号执行系统命令。

guo_qingxia的博客 1112

基于MATLAB的井筒多相流模拟

井筒多相流的模拟可以基于不同的数学模型和计算方法。其中,最常用的模型之一是多相流模型,它基于质量守恒、动量守恒和能量守恒等原理,描述了流体在井筒中的流动行为。对于井筒多相流的模拟和分析可以帮助我们理解和优化油气田开发过程中的流体行为,从而提高产量和效率。在本文中,我们将介绍如何使用MATLAB进行井筒多相流的模拟,并提供相应的源代码。需要注意的是,以上示例是一个简化的模拟,仅用于演示如何使用MATLAB进行井筒多相流模拟。实际应用中,我们需要考虑更多的物理过程和参数,并使用更复杂的数值方法和模型进行模拟。

AtdiHtml的博客 706

基于Python的军事装备信息爬虫实战:Scrapy+Playwright+智能反反爬技术

本文将详细介绍如何使用Python构建一个高效的军事装备信息爬虫系统。我们将从基础的HTTP请求开始,逐步深入到使用Scrapy框架、Playwright浏览器自动化以及最新的反反爬技术。文章包含完整的代码实现、性能优化策略以及数据处理方案,旨在为读者提供一个全面的军事信息爬取解决方案。关键词:Python爬虫、军事装备、Scrapy、Playwright、反反爬。

2201_76125261的博客 1155

创建文件夹的shell脚本

创建文件夹的shell脚本。

clever101的专栏 758

Python在Genesis2000 CAM软件中的编程应用

Genesis2000是一款功能强大的计算机辅助制造(CAM)软件,它提供了广泛的功能和工具,用于帮助制造商进行CAD(计算机辅助设计)到CAM的转换。在Genesis2000中,我们可以利用Python的灵活性和功能来扩展软件的自定义能力,并通过编写脚本来自动化各种制造任务。例如,假设我们需要在Genesis2000中添加一个新的操作,用于自动计算零部件的重量。我们可以编写一个Python脚本,通过遍历模型的几何数据并应用相关的计算公式,来实现这个功能。

PixelEnigma的博客 2423

Windows用Notepad++编辑Shell脚本:一招解决Linux执行报错问题

临时处理:打开文件后,通过「编辑→文档格式转换→Unix (LF)」转换格式,保存后上传;永久解决:设置Notepad++默认新建文件为「Unix (LF)」格式,一劳永逸。

CharlesYuangc的博客 1413

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

解决shell脚本“syntax error near unexpected token `fi'”的问题。

先列出我的shell脚本。 我是在windows编辑器里面编辑好之后再上传到linux进行执行的。 #!/bin/bash Monitor() { pgrep -x mysqld &> /dev/null if [ $? -ne 0 ]; then echo "At time: `date` :MySQLis stop .">> /opt/service...

D.K专栏 5万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

windows下编写的shell脚本在linux运行报错

windows下编写的shell脚本在linux运行报错 参考网址: https://blog.youkuaiyun.com/sunshine_okey/article/details/7346283?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_aa&depth_1-utm_source=distribute.p

java技术博客 543

在Windows下写了一个shell脚本,上传到Linux下执行时报错

我们在windows下写的shell代码copy到linux下有时会报错,下面是在网上找到的解决办法,亲测可用: 代码如下: [root@localhost test]# ./test.sh    -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory test.sh源码:   复制代码 代码如下:

q751197694的博客 1926

Linux查看脚本的编码格式,从windows到linux的shell脚本编码和格式问题

从windows到linux的shell脚本编码和格式问题从windows到Linux的shell脚本编码和格式问题1、异常问题 :set ff=unix启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误,因为我们在windows编写或修改后的脚本是dos编码,而正常的在Linux系统中执行的是unix编码,在写shell脚本的时候,在windo...

weixin_29817925的博客 4947

解决在windows环境中编写shell脚本,在Linux运行出错的问题

windows下编译的shell文件,每一行的结尾是\n\r,而在linux下文件的结尾是\n,会导致运行出错。

编程代码,数据学习开发的日常总结。欢迎关注VX公众号:张飞的猪 7250

windows下写的shell脚本在linux执行出错的解决办法

sh文件的格式为dos格式。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。使用dos2unix命令,这个命令可以将DOS格式的文本文件转换成Unix或Linux格式。在Windows操作系统下上传的shell脚本可能会出现无法运行的问题,这是因为Windows和Linux等操作系统对于文本文件的编码方式不同所导致的。

qq_43368517的博客 2053

运行shell脚本报错:“syntax error near unexpected token 的解决方法`”

运行shell脚本报错:“syntax error near unexpected token 的解决方法`” 今天写了个Cshell脚本,运行报错syntax error near unexpected token `,脚本语法没有问题,最后发现了问题 用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M。 老式的电传打字机使用两个字符来另起新行。一个字符把滑动架...

Alfred的博客 2万+

在Windows下写了一个shell脚本,上传到Linux下执行时报错:

在Windows下写了一个shell脚本,上传到Linux下执行时报错: 复制代码 代码如下:[root@localhost test]# ./test.sh    -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory  test.sh源码:   复制代码 代码如下:#!/bin/sh

千里足迹 3148

【Linux】shell脚本和bat脚本:

【Linux】shell脚本和bat脚本:

SunPeng的博客 4750

linux上执行shell脚本报错/bin/bash^M

在linux上执行 shell 脚本时候 报错bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory造成这个错误的原因是sh脚本使用了在windows编辑,然后上传到linux服务器执行。因为windows下的文件是dos格式,即每一行结尾以\r\n来标识,而linux下的文件是unix格式,行尾则以\n来标识。解决方法:第一步: 先查看并确认一下是否是 dos格式vim ./test.sh 输入“:set ff” 若

shaoduo的博客 1839

12-错误-Linux环境运行Shell脚本出现$‘r‘ command not found

12-错误-Linux环境运行Shell脚本出现$'r' command not found

weixin_43873121的博客 1597

windows上传linux脚本,执行报错:需要去除^M

在windows下编辑一个脚本文件,上传到linux上,出现^M字符导致shell命令不能正常执行 windows下的文件: utf8 编码 上传到centos服务器,执行脚本 脚本是没有写错的,直接粘贴到控制台,结果正常,如下图: 查找原因: [hdfs@s101 /]$ cat test_pom.txt -v echo -e "----------------------ls ...

eyeofeagle的博客 1166
上一篇: Shell脚本中输出标准日志格式信息
下一篇: DBVisualizer工具配置Phoenix连接,访问HBase数据库
GulfMoon
博客等级 码龄13年 23粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值