スクリプトのホストコマンドが有効なIPを取得したことをどのように確認できますか?

スクリプトのホストコマンドが有効なIPを取得したことをどのように確認できますか?

パラメータが1つしかないとしましょう。

host $1

上記のコマンドが応答を提供していることをどのように確認できますか?

Host $1 not found (NXDOMAIN) 

見つかりませんエラーを表示したくないだけで表示したいです。-

ベストアンサー1

host入力を解析できない場合は1が終了するため、if設定を使用できます。

if ! host "$1" | grep -v 'not found'; then
  printf '%s\n' '-'
fi

コマンドが失敗したかどうかをテストするためにこれを使用します!(コマンドが通過した場合、出力を正常に印刷したいと仮定するためです)。 stderrの代わりにstdoutにエラーをhost送信すると、stdoutを隠すことはできません。not foundこれがホストコマンドをgrep -v 'not found'ここにパイプする理由であり、見つからないエラーがあり、まだ1で終了した場合はエラーを隠して、if設定がprintになるようにします-。見つからない場合はnot found0で終了します。

おすすめ記事