Как создать сценарий оболочки, который получает векторный аргумент, например
./ script.sh google.com, yahoo.com
, и отображать ip для каждого домена
[ 114] как google.com 100.23.123.13
РЕДАКТИРОВАТЬ:
#!/bin/bash
while [ "$1" ];
do
host $1 | grep address | head -1
done
Вы можете выполнять поиск по нескольким запросам напрямую, используя команду dig
, например
dig google.com yahoo.com
или для менее подробного вывода
dig +noall +answer google.com yahoo.com
или для вывода только IP
dig +short google.com yahoo.com
Вы можете сделать это таким образом.
Откройте терминал
$ gedit get_domain_ip.sh &
Добавьте следующие строки в файл и сохраните.
#!/bin/bash
read -p "Enter domain name : " DOMAIN_INPUT
host $DOMAIN_INPUT
#END
Пометить скрипт как исполняемый
$ chmod +x get_domain_ip.sh
Тестирование
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:~$
Для однодоменного ввода >>
#!/bin/sh
#get IP
host $1 | head -n 1 | awk '{print $1,"\t",$4}'
Для многодоменного ввода >>
#!/bin/sh
#get IP
for url in $@; do
host $url | head -n 1 | awk '{print $1,"\t",$4}'
done
Вы можете использовать следующий скрипт:
#!/bin/sh
for domain in $@; do
host $domain | grep "has address" | awk '{print $1"\t"$4}'
done
Использование: ./script www.domain1.com domain2.com ...
Например:
$ ./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