私は次のコマンドを持っています:
ptr=`host $hostname`
結果は次のとおりです。
test.tester.test has address 192.168.1.1
動作します!
今私が望むのは、IPアドレス(192.168.1.1)だけを抽出して$ myptr変数に渡し、次のコマンドを実行することです。
if $myptr | sed -n '/\(\(1\?[0-9][0-9]\?\|2[0-4][0-9]\|25[0-5]\)\.\)\{3\}\(1\?[0-9][0-9]\?\|2[0-4][0-9]\|25[0-5]\)/p' ; then
host $myptr
else
echo "No PTR Record found"
fi
しかし、これはうまくいきません。助けてください?
ベストアンサー1
の出力に対して追加のテキスト処理を実行する必要はなく、IPアドレスのみを取得するためにhost
使用できますdig +short
(そして必要なIPリバースルックアップを実行します)。
dig +short "$hostname"
例えば
ip="$(dig +short "$hostname")"
host "$ip"
または直接:
host "$(dig +short "$hostname")"