2014-02-26 61 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