在Windows 11操作系统环境下利用Nodepad++工具编写了一个Shell脚本文件Hejre.sh,将其上传到Linux游戏服务器,通过sudo chmod +x Hejre.sh命令赋予权限后执行,提示如下错误。
sudo: unable to execute ./Hejre.sh: No such file or directory
切换到root用户,依然报错,提示如下。
-bash: ./Hejre.sh: /usr/bin/bash^M: bad interpreter: No such file or directory
如图所示,可以看到前后错误提示不一样,其实这是由于操作系统的换行符不一致导致的。
解决方案:
1、运行 sudo vim Hejre.sh 命令。
sudo vim Hejre.sh
2、输入 :set ff 命令。
:set ff
如果显示 fileformat=dos,则说明文件格式不对;如果显示 fileformat=unix,则说明文件格式没有问题。
3、输入 :set ff=unix 命令,重新设置文件格式。
:set ff=unix
4、输入 :wq 保存,重新执行即可。