Script shell para exibir o IP

3

Como posso criar um script de shell que receba um argumento de vetor como

./ script.sh google.com, yahoo.com

e exibir ip para cada domínio

como google.com.br 100.23.123.13

EDITAR:

#!/bin/bash

while [ "$1" ]; 
do
host $1 | grep address | head -1
done
    
por Adrian George 14.09.2013 / 08:55

4 respostas

5

Você pode usar o seguinte script:

#!/bin/sh

for domain in $@; do
    host $domain | grep "has address" | awk '{print $1"\t"$4}'
done

Uso: ./script www.domain1.com domain2.com ...

Por exemplo:

$ ./script.sh www.google.com yahoo.com www.askubuntu.com google.ro
www.google.com  173.194.40.81
www.google.com  173.194.40.84
www.google.com  173.194.40.82
www.google.com  173.194.40.83
www.google.com  173.194.40.80
yahoo.com   98.138.253.109
yahoo.com   206.190.36.45
yahoo.com   98.139.183.24
askubuntu.com   198.252.206.24
google.ro   173.194.35.31
google.ro   173.194.35.23
google.ro   173.194.35.24
    
por Radu Rădeanu 14.09.2013 / 11:05
1

Você pode realizar pesquisas de várias consultas diretamente usando o comando dig , por exemplo,

dig google.com yahoo.com

ou para saída menos detalhada

dig +noall +answer google.com yahoo.com

ou para produzir apenas os IPs

dig +short google.com yahoo.com
    
por steeldriver 14.09.2013 / 10:19
0

Para entrada de domínio único > >

#!/bin/sh
#get IP
host $1 | head -n 1 | awk '{print $1,"\t",$4}'

Para entrada de vários domínios > >

#!/bin/sh
#get IP
for url in $@; do
    host $url | head -n 1 | awk '{print $1,"\t",$4}'
done
    
por arupgsh 06.02.2017 / 06:53
0

Você pode fazer isso dessa maneira.

Abra um terminal

$ gedit get_domain_ip.sh &

Adicione as seguintes linhas ao arquivo e salve.

#!/bin/bash

read -p "Enter domain name : " DOMAIN_INPUT

host $DOMAIN_INPUT

#END

Sinalize o script como executável

$ chmod +x get_domain_ip.sh

Teste

neo@neo-H87H3-M:~$ ./get_ip.sh

Enter domain name : google.com    
google.com has address 173.194.72.102    
google.com has address 173.194.72.101    
google.com has address 173.194.72.100    
google.com has address 173.194.72.139    
google.com has address 173.194.72.138    
google.com has address 173.194.72.113    
google.com has IPv6 address 2404:6800:4008:c00::8a    
google.com mail is handled by 50 alt4.aspmx.l.google.com.    
google.com mail is handled by 20 alt1.aspmx.l.google.com.    
google.com mail is handled by 30 alt2.aspmx.l.google.com.    
google.com mail is handled by 10 aspmx.l.google.com.    
google.com mail is handled by 40 alt3.aspmx.l.google.com.

neo@neo-H87H3-M:~$
    
por Arnold 14.09.2013 / 09:23

Tags