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

深度链接 / 2023-12-06 21:48:19 / 154

执行sh文件时出现-bash: ./wrx_bk.sh: /bin/bash^M: bad interpreter: No such file or directory.查找相关资料得知原来是文件格式问题。dos格式文件传输到unix系统时,会在每行的结尾多一个^M,即dos文件中的换行符“\r\n”会被转换为unix文件中的换行符“\n”。

1、问题如下

[root@wrx tmp]# chmod +x wrx_bk.sh 
[root@wrx tmp]# ./wrx_bk.sh 
-bash: ./wrx_bk.sh: /bin/bash^M: bad interpreter: No such file or directory
[root@wrx tmp]#

2、解决方法

#查看sh文件格式
#打开文件
[root@wrx tmp]# vim wrx_bk.sh
#输入:set ff后回车出现如下
~                                                                                                                                                                                                                                                                             
  fileformat=dos 
#上面的输出显示文件格式为dos
#输入:set ff = unix将文件格式修改为unix
#修改完后保存