您的位置:首页 > 运维架构 > Shell

shell 嵌套条件语句时,尽量把靠近两次判断

2008-10-21 21:10 661 查看
if [ $# != 2 ]

then

if [ $1 = "h" -o $1 = "H" ]

then

echo "help info"

else

echo "ERROR: Invalid argument amount! Plz input 2 directory names!"

fi

echo "**************************************************************"

echo "* by Richard Zhang, Oct, 2008. *"

echo "* China Contruction Bank, SuZhou Branch *"

echo "* Usage example: 'sh $0 <dir1> <dir2>' *"

echo "* for help: 'sh $0 h' *"

echo "**************************************************************"

exit 0

fi

没有问题,但是,如果

if [ $# != 2 ]

then

echo "**************************************************************"

echo "* by Richard Zhang, Oct, 2008. *"

echo "* China Contruction Bank, SuZhou Branch *"

echo "* Usage example: 'sh $0 <dir1> <dir2>' *"

echo "* for help: 'sh $0 h' *"

echo "**************************************************************"

if [ $1 = "h" -o $1 = "H" ]

then

echo "help info"

else

echo "ERROR: Invalid argument amount! Plz input 2 directory names!"

fi

exit 0

fi

则在FreeBSD6.1下运行时,提示“[: =: unexpected operator”

真实奇怪。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: