<selection required>
<option disabled value=“”>Select a language</option>
<option>English</option>
<option>Spanish</option>
</selection>
在上面的代码中,sqlplus system/root @orcl<<END
SET SERVEROUTPUT ON
VAR RET NUMBER
EXEC :RET := 1
EXEC :RET := ${CREATE_FUNCTION}('${WKDir}','${WKFile}', ${DAYS})
EXIT :RET
END
Rtn=$?
echo The value is $Rtn
if[[ ${Rtn} != 0 ]] then
echo "Error"
exit 1
fi
echo "RRRRRRRRRRRRRRRRR"
#########################################################################
# PL/SQL コ・・ツケヤ
#########################################################################
sqlplus system/root @orcl<<END
SET SERVEROUTPUT ON
VAR RET NUMBER
EXEC :RET := 1
EXEC :RET := ${DELETE_FUNCTION}('${WKDir}','${WKFile}', ${COMMIT_CNT})
EXIT :RET
END
的值为Rtn
。但它正在进入if条件并打印&#34;错误&#34;。我需要继续使用pl / Sql代码。
答案 0 :(得分:0)
修改您的脚本如下,它应该工作。
Rtn=$?
echo The value is $Rtn
if [ ${Rtn} != 0 ]; then
echo "Error"
exit 1
fi
echo "RRRRRRRRRRRRRRRRR"
答案 1 :(得分:0)
默认情况下,shell脚本在出错时不会终止,它只是向stderr输出错误消息并继续执行后续命令。 (可以通过脚本开头的set -e更改此行为。)
在你的情况下(如评论中已经提到的)if[[
不是if
的正确语法(缺少空格),shell将其解释为命令的名称,没有在您的系统中使用此名称的命令,因此shell会抛出类似的错误:
./test.sh: line 6: if[[ 0 != 0 ]]: command not found
...并继续执行接下来的两个命令:
echo "Error"
exit 1
为了好奇,您可以创建一个名为if[[
的可执行文件(它可能只是echo hello world
)并将其放在PATH中的某个位置。您的脚本将执行它。