将主机输出与打印消息进行比较



我正在尝试编写一个bash脚本,我将在其中给出一个IP作为参数。如果 IP 无效,我想打印以筛选消息。如果IP有效,我会打印主机名。

host $1 | cut -d' ' -f5

如果 IP 有效,这是我的代码。我不知道如果打印相应的消息无效,则

热比较输出

你可以这样做:

if host=$(host "$1" 2>/dev/null); then  # ignore stderr
echo "$host"
else
echo "$1 is not a valid host"
fi

如果要在 else 部分中显示host的错误输出,则:

if host=$(host "$1" 2>&1); then  # merge stdout and stderr
echo "$host"
else
echo "$1 is not a valid host, error=$host"
fi

最新更新