2014-02-26 62 views
1

我想明白一個簡單的腳本,在UNIX用sqlplus命令連接到Oracle數據庫:用sqlplus命令

1 sqlplus -s /nolog > /dev/null 2>&1 <<EOF 
2 whenever sqlerror exit failure 
3 connect $user_pwd 
4 exit success 
5 EOF 

如果我使用unix,然後我用命令,sqlplus $user_pwd用於連接到Oracle數據庫並出來sqlplus命令我用exit。請幫助我理解1,2,4,5行。這對專家來說可能是一個簡單的問題,但我無法理解何時使用這些問題。

+0

嘗試搜索_heredoc_。 – devnull

回答

5
  • -s爲靜音模式(不輸出任何東西)
  • > /dev/null 2>&1事情對力以不顯示任何內容。 (將標準輸出和標準錯誤重定向到/ dev/null)
  • /nolog用於不嘗試使用命令行參數登錄。 (這裏沒有提供登錄憑證。)
  • <<EOF是一個heredoc輸入重定向。直到EOF的行將作爲標準輸入傳遞給sqlplus。 (所以這就是爲什麼最後一行是EOF
  • 關於whenever行:http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12052.htm因此,如果發生錯誤,命令的返回值將失敗。
  • connect $user_pwdsqlplus連接到服務器
  • exit success使sqlplus返回將成功。 http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12023.htm#i2697968