014-Windows编写好的.sh脚本在ubuntu运行提示No such file directory异常处理办法

2024-08-02 16:59 014-Windows编写好的.sh脚本在ubuntu运行提示No such file directory异常处理办法已关闭评论

sudo ./install_ss.sh

install_ss.sh脚本上传ubuntu服务器后,执行运行命令,提示异常:

root@iZt4n41xktcd1599w2du7gZ:~# ./install_ss.sh
-bash: ./install_ss.sh: /bin/bash^M: bad interpreter: No such file or directory

这个错误通常发生在从Windows系统复制或传输脚本到Unix/Linux系统时。在Windows中,换行符是由两个字符组成的:回车 (\r) 和换行 (\n),而在Unix/Linux系统中,换行符仅由一个换行字符组成。因此,当Unix/Linux shell遇到Windows格式的脚本文件时,它会将回车字符解释为一个额外的字符 (^M)。

错误信息中的/bin/bash^M说明install_ss.sh脚本中含有Windows格式的换行符,导致shell在尝试执行脚本时解析出错。

要修复这个问题,需要将脚本文件转换成Unix/Linux的换行符格式。有以下几种方式实现:

  1. 使用DOS2UNIX工具:如果你的系统上已安装了dos2unix工具,你可以直接使用它来转换文件格式。

    dos2unix install_ss.sh
    

    这个命令将会把install_ss.sh中的Windows换行符转换为Unix风格的换行符。

  2. 如果没有安装DOS2UNIX,你可以使用以下命令来安装:

    sudo apt-get update
    sudo apt-get install dos2unix
    

    安装完成后,再运行上面的dos2unix install_ss.sh命令。

  3. 使用sed命令:如果你不想安装额外的工具,也可以使用sed命令来转换文件格式。

    sed 's/\r$//' install_ss.sh > temp && mv temp install_ss.sh
    

    该命令会删除install_ss.sh文件中的回车符 (\r),并将结果保存到一个临时文件中,然后再将临时文件重命名为原始文件名。

当前文章价值5.42元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/3637.html ,谢谢支持!

资源分享

结合实例讲解Glide在Android开发中从初级到高级各种用法 结合实例讲解Glide在Android开
修改猎豹浏览器主页与IE浏览器之间的区别 修改猎豹浏览器主页与IE浏览器
Fragment+FragmentTabHost实现仿QQ底部菜单栏 Fragment+FragmentTabHost实
带www和不带www域名与网站收录量、权重关系 带www和不带www域名与网站收录量

评论已关闭!