9
我使用psql命令連接併發出對postgreSQL數據庫的查詢。任何人都可以讓我知道如何檢查shell腳本中執行的查詢的返回狀態。檢查unix shell腳本中psql命令的返回狀態
我用echo $?
命令來檢查狀態,但它總是返回零。
感謝您的幫助。
我使用psql命令連接併發出對postgreSQL數據庫的查詢。任何人都可以讓我知道如何檢查shell腳本中執行的查詢的返回狀態。檢查unix shell腳本中psql命令的返回狀態
我用echo $?
命令來檢查狀態,但它總是返回零。
感謝您的幫助。
psql
返回碼記錄爲:
退出狀態
PSQL返回0到外殼如果正常結束,1,如果其自身的致命錯誤 發生(例如出的存儲器,文件不找到),如果連接到服務器的 錯誤並且會話不是交互式,則爲2,如果在腳本中發生錯誤並且設置了變量ON_ERROR_STOP ,則該值爲3。
您可能只是想使用ON_ERROR_STOP。
未能得到測試並上報外殼:
$ psql -d test -v "ON_ERROR_STOP=1" <<EOF
select error;
select 'OK';
EOF
ERROR: column "error" does not exist
LINE 1: select error;
$ echo $?
3
未能得到忽略不上報外殼:
$ psql -d test <<EOF
select error;
select 'OK';
EOF
ERROR: column "error" does not exist
LINE 1: select error;
^
?column?
----------
OK
(1 row)
$ echo $?
0
這樣的回答讓我很快樂! 爲我完美工作,謝謝:) –