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),并将结果保存到一个临时文件中,然后再将临时文件重命名为原始文件名。

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

你可能感兴趣的文章

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

资源分享

python实现一键取除水印工具 python实现一键取除水印工具
批量文本生图工具 批量文本生图工具
Python实现提取文章关键字 Python实现提取文章关键字
php7.0-fpm启动启动异常 php7.0-fpm启动启动异常

评论已关闭!