从 shell 你命令启动:
tnsping myDB
我获得输出:
正常(1 毫秒)
如何将此输出存储在变量中,以便测试是否正常?
但是,您说您想检查结果。如果您存储该字符串输出,则需要对其进行解析以仅查找“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