七
20
有网友在ITPUB上问到“sqlplus下如何获取shell的return code”
可以用以下的办法:
在SHELL中把结果重定向到一个文件。
举个例子:
所有的测试文件都放在$HOME下
func.sh是你要执行操作的SHELL
#!/bin/sh
exit 2
test.sh的功能就是调用func.sh
#!/bin/sh
$HOME/func.sh
echo "define VAR_TEST=$?" > $HOME/test.sql
在SQLPLUS中
SQL > host $HOME/test.sh
SQL > @$HOME/test.sql
现在就定义了一个SQLPLUS的变量VAR_TEST。
SQL > select '&VAR_TEST' x from dual;
old 1: select '&VAR_TEST' x from dual
new 1:select '2' x from dual
x
--
2