解决在windows下编写shell脚本执行报错的问题

这篇具有很好参考价值的文章主要介绍了解决在windows下编写shell脚本执行报错的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有时候,我们为了方便,于是在windows下编写shell脚本,编写完成以后放到Linux开发环境中去执行,在执行的时候报如下的错:

bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory

两种解决方法:

方法一

第一步:使用下述命令看看该文件的格式,dos格式的文件行尾为^M$,unix格式的文件行尾为$;

使用命令:cat -A test.sh

第二步:如果看到文件每行都是以^M$结尾,说明文件的格式不对,则使用下述命令直接替换结尾符为unix格式;

使用命令替换结尾符号:sed -i "s/\r//" test.sh

第三步:再次使用 cat -A test.sh命令可以看到文件的格式为unix格式。

方法二

第一步:vim test.sh,按Esc键,同时按下Shift和:键,在左下角输入set ff后回车,会看到左下角显示fileformat=dos;

第二步:同时按下Shift和:键,在左下角输入set ff=unix后回车;输入同时按下Shift和:wq保存退出;

第三步:vim test.sh,按Esc键,同时按下Shift和:键,在左下角输入set ff后回车,会看到左下角显示fileformat=unix;表示格式已经修改了。

通过上述两种方法对shell脚本的格式进行修改后,再执行就正常了。

 文章来源地址https://www.toymoban.com/news/detail-556682.html

 

到了这里,关于解决在windows下编写shell脚本执行报错的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins 执行远程shell脚本部署jar文件问题起不来

    如图:最开始的时候没有加: source /etc/profile 这一行, run.sh里面的java -jar xxxx.jar 一直执行不来。 一开始以为是Jenkins执行退出后会kill一切它启动的进程,所以加了在run.sh里面加了export BUILD_ID=dontKillMe,还是不行。后来考虑是环境变量问题,加上source /etc/profile就好了,同时最

    2024年02月07日
    浏览(48)
  • linux和windows上执行shell脚本遇到了$‘\r‘: command not found

    启动命令在shell脚本里面,启动时遇到了$\\\'r\\\': command not found错误。 奇怪的是在测试环境的linux服务器上并没有这个问题。 解决方法:用vi/vim打开脚本,设置文件格式为unix。 其中ff是fileformat的简写。 ps: 如果想设置为windows格式,则:set ff=dos 总结: 设置文件格式 windows格式

    2024年02月16日
    浏览(36)
  • Unsupported Git Version报错的解决方法(windows)

            这是由于版本不适引发的报错:         解决方法也很简单只要将它升级一下就好了(点开idea下面的Terminal):    输入:git --version    查看当前git的版本。     输入:git --update     进行版本升级,选择y。 升级下载完后一直next就好。

    2024年02月05日
    浏览(44)
  • 在shell脚本中切换用户之后再执行多个函数以及执行多行命令的方法和遇到的问题

    其中,username是您要切换到的用户的用户名,function1和function2是您要执行的函数名称,您可以根据需要添加更多函数和命令。在EOF标记之间的所有内容都将作为切换后的用户执行。请注意,您需要确保切换后的用户具有执行所需命令和函数的权限。 其中,username为要切换到的

    2024年02月04日
    浏览(91)
  • 执行shell脚本报/bin/bash^M: bad interpreter错误的解决

    转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 问题描述: 在notepad++里面编辑修改了shell脚本,再上传到服务器执行,出现“-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory”的报错: 原因分析: 这个问题

    2024年02月02日
    浏览(54)
  • 解决selenium使用webdriver.Chrome()报错的问题

    谷歌驱动下载地址: https://sites.google.com/a/chromium.org/chromedriver/home   运行成功(打开浏览器显示chrome正在受自动化软件测试的控制就代表成功):  找到def __init__(self, executable_path=\\\"chromedriver\\\", port=0, 修改executable_path=\\\"chromedriver\\\" 为executable_path=\\\"chromedriver驱动的路径\\\"   修改成功后

    2024年02月11日
    浏览(54)
  • 解决Pycharm中安装Pygame库报错的问题

    近期,我遇到了在Pycharm中安装Pygame库时出现的报错问题。在解决这个问题之前,我忽视了报错信息中提供的关键信息。通过仔细阅读报错信息并进行一些调查,我成功解决了这个问题。在本文中,我将分享我所遇到的问题以及解决方案。 首先,让我们来看看我所遇到的报错

    2024年02月04日
    浏览(43)
  • 【已解决】Linux下执行Shell脚本出现$‘\r‘: command not found

    今天把 Windows 的项目导入 linux 运行,执行 shell 脚本的时候,报错了,报错如下: 是 Windows 和 Linux 的 .sh 脚本文件格式不同,如果在脚本中有空行,脚本是在 Windows 下进行编辑之后上传到 linux 上去执行的话,就会出现这个问题。 windows 下的换行符是rn,而 linux 下的换行符是

    2024年01月16日
    浏览(46)
  • 使用devsidecar 软件解决 git因网络问题报错的

    上链接: 下载你系统对应的版本 安装后根据教程设置即可 解决了git提交、拉取时报以下错误: Failed to connect to github.com port 443 after 21051 ms: Couldn\\\'t connect to server Recv failure: Connection was reset

    2024年02月11日
    浏览(53)
  • arduino nano uno 上传不了报错的问题解决

    1、首先要确定是否安装驱动(驱动安装地址:MAC地址 Windows地址),打开设备管理器,可以查看是否显示com口 2、如果安装驱动之好,还是没有识别开发版,确定一下线是否是数据线(可以用手机插到电脑上测试一下)。 3、如果还是没有识别的话,看一下板子上的那个二极管

    2024年02月09日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包