开发者社区 问答 正文

linux下shell编程问题

程序报错:第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

展开
收起
杨冬芳 2016-07-11 18:36:33 2284 分享 版权
1 条回答
写回答
取消 提交回答
  • IT从业

    从内容看是ok的,可能是换行导致的。
    但如果是rn的问题,在第一行blank的地方就应该报错了。
    在vim里用set list看看有没有特殊字符。

    2019-07-17 19:54:35
    赞同 展开评论