在Linux系统中执行.sh脚本时,出现了bin/sh^M: bad interpreter: No such file or directory的错误。
原因是.sh脚本在Windows系统下用记事本文件编写的。不同系统的编码格式引起的。
转行文件的编码格式:
1、确保用户对文件有读写及执行权限
Oracle@www:~/RMAN/bin> chmod a+x test.sh
2、然后修改文件格式
(1)使用vi工具
oracle@www:~/RMAN/bin> vi test.sh
(2)利用如下命令查看文件格式
:set ff 或 :set fileformat
可以看到如下信息
fileformat=dos 或 fileformat=unix
(3) 利用如下命令修改文件格式
:set ff=unix 或 :set fileformat=unix
:wq (存盘退出)
3、最后再执行
oracle@www:~/RMAN/bin> ./test.sh