从shell发送命令:
tnsping myDB
我获得了输出:
好(1毫秒)
如何将此输出存储在变量中,以便我可以测试是否正常?
答案 0 :(得分:1)
You can store the output of a command using command substitution
但是,你说你想检查结果。如果您存储该字符串输出,则需要将其解析为仅查找' OK' (因为ping时间可能不同),并处理横幅信息等(虽然这相对容易)。
从tnsping
命令而不是输出中查看返回代码会更简单:
tnsping myDB
echo $?
您可以测试$?
的值。如果ping是正确的那么它将为零;否则它将是1.
您还没有说过您想要对测试结果做些什么。如果你想显示错误(如果有的话),如果它有效,你可以将它们结合起来:
RESULT=$( tnsping myDB )
if [[ $? -ne 0 ]]; then
printf "Ping failed, output was\n\n"
printf "%s\n" "${RESULT}"
fi