スクリプトでは、IPアドレスをどこかに簡単に書き込めるようにしたいので、バックティックでDig(または同様のコマンド)を使用することを考えました。
ただし、Digパラメータを作成するために私が思いついた最も単純な出力は次のとおりです。
> Dig -t A +noall +answer www.google.com
www.google.com. 300 IN A 173.194.66.106
www.google.com. 300 IN A 173.194.66.104
IPアドレス以外のジャンクを取り除く方法(余分な引数、掘る代わりに別のツール?)?? (そしてsedを使うように言わないでください。)
ありがとう
CentOSボックスで私は手渡さなければなりません
Dig +short www.google.com
74.125.132.147
74.125.132.99
74.125.132.103
74.125.132.104
74.125.132.105
74.125.132.106
1つのアドレスのみが必要な場合
Dig +short www.google.com | head -1
または
Dig +short www.google.com | tail -1
sed
は実行可能なオプションであり、それを完全に拒否するのはmisguidedせいぜいです。
とにかく、試してみてください
Dig -t A +noall +answer www.google.com | cut -f 6 | tail -1
スクリプトの場合(特にレポートで逆引き参照を行う場合)、特定のDNS機能をテストする必要がない限り、ローカルDNSキャッシングデーモンを実行している場合は、getent hosts ...
を使用することをお勧めします(例: .nscdまたはdnsmasqdなどのローカルキャッシングDNSサーバー)を使用すると、パフォーマンスとキャッシングが向上し、必要以上に多くのトラフィックでDNSサーバーを攻撃することはありません。
AWKでの例を含む説明 を作成しました。それが人々が私が取り組んでいる痛みのいくつかを回避するのに役立つことを願っています。