|
有一段脚本:
while [ -n "$(echo $1 |grep '^-')" ]; do
case $1 in
-a) echo 'option -a' ;;
-b) echo 'option -b' ;;
-c) echo 'option -c' ;;
* ) opti=$?
echo $1
echo $opti
echo 'usage: optiondeal [-a] [-b] [-c] args...'
exit 1
esac
shift
done
是用来练习处理命令行选项用的,脚本名字叫optiondeal,碰上挺奇怪一事儿,我用-a,-b,-c试没问题,能够正常显示,然后随便用其他参数试比如-d,-m,-z,-r等也没问题,能够正常显示,可唯独用选项-n试就不正常了,执行完脚本之后没有任何输出,直接出现系统提示符,就像没做过任何执行一样,不知是哪里出了问题, 难道是bash的bug不成?我在FC1上和Gentoo2005.1上都试过这个脚本,都有同样的问题,他们的bash版本分别是2.05b和3.1.8,请大家帮我看看。 |
|