程序报错:第8行then
附近有语法错误
#!/bin/bash
usagefunc () {
echo 用法: $0 Directory Day;
echo 例如: $0 `pwd` `date +%d`;
}
if [ $# -ne 2 ] ; then
usagefunc;
exit;
fi
#判断输入日期的第一个数字是否为零,若为零则去掉
if [ $2 = "01" ] ; then M=1; MONOK=1;
elif [ $2 = "02" ] ; then M=2; MONOK=1;
elif [ $2 = "03" ] ; then M=3; MONOK=1;
elif [ $2 = "04" ] ; then M=4; MONOK=1;
elif [ $2 = "05" ] ; then M=5; MONOK=1;
elif [ $2 = "06" ] ; then M=6; MONOK=1;
elif [ $2 = "07" ] ; then M=7; MONOK=1;
elif [ $2 = "08" ] ; then M=8; MONOK=1;
elif [ $2 = "09" ] ; then M=9; MONOK=1;
else M=$2; MONOK=1;
fi
if [ $MONOK = 1 ] ; then
ls -l -R $1 | grep -e "$M";
else
usagefunc;
fi
貌似没错啊,拿到本地执行通过了。
把报错的内容贴出来
可能是编码的问题,windows下修改文件和linux下修改文件,有的地方是不一样的
可能是换行符的问题, 用linux下的换行符 \n ,不能用 \r\n
是不是有不可见的特殊字符,都显示出来看看。删除掉
从内容看是ok的,可能是换行导致的。
但如果是\r\n的问题,在第一行blank的地方就应该报错了。
在vim里用set list看看有没有特殊字符。
是不是有其他的特殊字符的问题啊