-1

从 shell 你命令启动:

tnsping myDB

我获得输出:

正常(1 毫秒)

如何将此输出存储在变量中,以便测试是否正常?

4

1 回答 1

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
于 2017-02-17T11:30:13.710 回答