2016-05-06 124 views

回答

15

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 
+1

這樣的回答讓我很快樂! 爲我完美工作,謝謝:) –