- 论坛徽章:
- 0
|
echo $?为何不显示为非0?
上面的哥们,你说的对,我加了一下,就可以了,但是现在还有别的问题,看看:
我现在写一个类似下面的脚本,我要是在脚本里面不写
WHENEVER OSERROR EXIT FAILUR
WHENEVER SQLERROR EXIT FAILURE
这两句,sqlplus执行完之后,返回值是0,无论里面的语句执行是否对与错,现在我写上这两句,DML语句和DDL语句执行有问题都可以返回1,非0,现在就是shutdown down 和startup语句即使执行不了,返回值仍然是0,谁能说一下,还要加一个怎样的累似于WHENEVER SQLERROR EXIT FAILUR这样的判断,才能正确的判断出shutdown down 和startup是否正确执行?
脚本:
USER_PASSWD="sys/sys@wyj as sysdba"
TMP_SQL=temp.sql
echo "shutdown immediate" > $TMP_SQL
sqlplus -s "$USER_PASSWD" << EOF
WHENEVER OSERROR EXIT FAILUR
WHENEVER SQLERROR EXIT FAILURE
start $TMP_SQL
EOF
echo $?
if [ $? != 0 ]
then
echo "fail to shutdown oracle"
exit
fi |
|