我试图理解一个简单的脚本,该脚本使用unix中的sqlplus命令连接到Oracle数据库:
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 :(得分: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_pwd
将sqlplus
连接到服务器exit success
使sqlplus返回成功。 http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12023.htm#i2697968