Windows下编写shell脚本不可忽视的一点

在记事本,Notepad++撸shell代码的时候保存为.sh上传到Linux上时,发现代码正确。但是在Linux下运行出错。

用cat -v看到脚本有^M的标记符

[root@yjh37 ~]# cat -v t.sh 
#! /bin/sh^M
echo "Is it morning? Please answer 0 or 1."^M
read YES_OR_NO^M
if [ "$YES_OR_NO" = "0" ]; then^M
 echo "Good morning!"^M
elif [ "$YES_OR_NO" = "1" ]; then^M
 echo "Good afternoon!"^M
else^M
 echo "Sorry, $YES_OR_NO not recognized. Enter yes or no."^M
 exit 1^M
fi^M
exit 0^M

我们可以安装dos2unix转换格式

[root@yjh37 ~]# yum -y install dos2unix

可以运行

总结:在windows下撸脚本,一定要注意Unix格式的转换,以免出现问题。

 

评论

  1. Windows Firefox
    7 年前
    2017-9-11 10:59:40

    前几天我也遇到这样的情况。lz总结的可以

本文评论已关闭
上一篇
下一篇