One-liner para obter um endereço IP de um nome DNS interno?

2

Eu tenho um nome de DNS interno para o qual gostaria de obter o endereço IP. Existe um bom one-liner Bash que eu possa emitir para converter internalip1.mydomain.com em 10.10.10.10?

    
por Naftuli Kay 26.03.2015 / 01:15

3 respostas

3

Com o comando dig , você não precisa executar nenhuma análise adicional da saída:

$ dig stackexchange.com +short
198.252.206.140

Ao procurar por um nome de host somente interno, convém usar o parâmetro +search :

$ dig myinternalhost +search +short
192.168.1.120
    
por 26.03.2015 / 02:07
1

E sobre isso?

% host -t A stackexchange.com | sed -e 's#.* has address ##'
198.252.206.140
    
por 26.03.2015 / 01:27
0

Eu uso isso em scripts periodicamente para atribuição de variáveis. O tr -d [:space:] remove qualquer caractere de nova linha.

host -t A hostname | awk '{print $NF}' | tr -d [:space:]

EDITAR (crédito para @jordanm):

host -t A hostname | awk '{printf $NF}'

não precisa da chamada tr .

    
por 26.03.2015 / 02:05