日期:2014-05-16  浏览次数:20654 次

小弟初学unix,一个简单的if都出错,求大家指教
源码如下(内容卸载1.sh文件里面):
sqlplus dmdbusr/dmdbusr @1.sql 
if [ $? -ne 0 ]
than 
echo "执行sql文件出错!"
exit -4
else
        exit -4
echo "执行sql文件成功!"
fi
注:1.sql是个单独的文件,放在1.sql同级目录下,里面的内容没有问题,这个万分确定。
执行结果如下:

其中exit -4还是我自己手动输入的,我在上面代码中明明有写到啊,为什么不执行呢。。。
我也查了下unix语法的文档,都是这么写的呀,为什么还说我else附近有错误啊。。。
求各位大侠指教
------解决方案--------------------
试下这个呢,我也是初学者,貌似系统提示语法错误,linux中shell中if的话是then,不是than。不行我也没办法了,呵呵·

sqlplus dmdbusr/dmdbusr @1.sql 
if [ $? -ne 0 ]
then 
echo "执行sql文件出错!"
exit -4
else
        exit -4
echo "执行sql文件成功!"
fi
------解决方案--------------------
在你的1.sql里,最后一行加上exit,就不会一直停在sqlplus里了
其次,后面报错是因为你的"than"应该改成"then"