每當我使用Sql * plus運行sql腳本並檢查$?時,即使腳本不成功,我也會得到0。Sql * plus總是返回退出碼0?
例
#$ sqlplus user/[email protected] @script.sql
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 7 14:20:44 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production
v$dataf-ile d,
*
ERROR at line 6:
ORA-00933: SQL command not properly ended
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production
$ echo $?
0
$
我想它在發生錯誤時,返回一非零值。
我該如何做到這一點?
編輯 - WHENEVER OSERROR EXIT的默認退出代碼爲0(SUCCESS),所以必須顯式指定其他選項。我添加了失敗選項。 – dbenham