当我们通过Windows系统编辑工具,将写好的Bash脚本,COPY到Linux系统中运行时,会报如下错误;
-bash: ./app2.sh: /bin/bash^M: bad interpreter: No such file or directory
其中app2.sh为Bash文件名,我们通过cat -A app2.sh查看该文件,如下所示:
#!/bin/bash^M$
#^M$
^M$
path =`pwd`^M$
echo "script path = $path"^M$
^M$
^M$,是Windows系统下的换行符,而Linux的换行符是$,那我们如何来修复呢?
其实很简单,我们可以用doc2unix命令来解决这个问题:
dos2unix app2.sh
命令运行后,app2.sh文件内容如下:
#!/bin/bash$
#$
$
path =`pwd`$
echo "script path = $path"$
$
对了,如果你发现你的系统内没有doc2unix命令,怎么办呢?
很简单,我们yum安装下就好了,安装命令如下:
yum -y install doc2unix