Jak mohu vyřešit název hostitele na adresu IP ve skriptu Bash?

Jaký je nejstručnější způsob, jak vyřešit název hostitele na adresu IP ve skriptu Bash? Používám Arch Linux .

Komentáře

  • Škoda, že getent <ahosts|ahostsv4|ahostsv6|hosts> <hostname> odpověď je někde tam dole u dna. Je ‚ nejjednodušší, nevyžaduje žádné další balíčky a je snadnější analyzovat také ze skriptu Bash.
  • @ 0xC0000022L: Nová škoda je, že tato odpověď naznačuje getent hosts somehost, když běží toto při somehost vytvoří adresu IPv6 , která se liší od většiny ostatních nástrojů (ping, ssh alespoň) vyřešte jména a rozbijte některé věci. Použijte ahosts místo hosts.
  • @j_random_hacker: kdo vám brání v požadavku konkrétně na IPv4 (ahostsv4) nebo adresy IPv6 (ahostsv6)? Osobně mi nic nesedí na nespecifickém požadavku na vrácení IPv6. Váš kód by měl být připraven. Protokol IPv6 je tu již více než 20 let.
  • @ 0xC0000022L: Nikdo “ mě “ neudržuje dělá to, ale odpověď konkrétně naznačuje hosts a zatím 4 lidé hlasovali pro komentář vinc17 ‚ vyjadřující bolest způsobenou “ najednou IPv6 „. Připravenost na IPv6 není vždy problém: mnoho programů potřebuje způsob, jak určit, zda dvě jména / adresy odkazují na stejného hostitele. Mohou buď použít jednoduchou shodu řetězců, nebo musí vědět hodně o síti, aby našli odpověď “ true „. To druhé je minové pole, takže mnoho programů a systémů třetích stran – nad kterými nemám žádnou kontrolu – používá to první.

Odpovědět

Můžete použít getent, který je dodáván s glibc (takže ho v Linuxu téměř určitě máte) . To řeší pomocí gethostbyaddr / gethostbyname2, a tak také zkontroluje /etc/hosts / NIS / etc:

getent hosts unix.stackexchange.com | awk "{ print $1 }" 

Nebo, jak řekl Heinzi níže, můžete použít dig s argumentem +short (dotazuje se přímo na servery DNS, nedívá se na /etc/hosts / NSS / atd.):

dig +short unix.stackexchange.com 

Pokud je dig +short nedostupný, kdokoli z následujících by mělo fungovat. Všechny tyto dotazy se dotazují přímo na DNS a ignorují další způsoby řešení:

host unix.stackexchange.com | awk "/has address/ { print $4 }" nslookup unix.stackexchange.com | awk "/^Address: / { print $2 }" dig unix.stackexchange.com | awk "/^;; ANSWER SECTION:$/ { getline ; print $5 }" 

Pokud chcete vytisknout pouze jednu IP, přidejte exit příkaz do pracovního postupu awk.

dig +short unix.stackexchange.com | awk "{ print ; exit }" getent hosts unix.stackexchange.com | awk "{ print $1 ; exit }" host unix.stackexchange.com | awk "/has address/ { print $4 ; exit }" nslookup unix.stackexchange.com | awk "/^Address: / { print $2 ; exit }" dig unix.stackexchange.com | awk "/^;; ANSWER SECTION:$/ { getline ; print $5 ; exit }" 

Komentáře

  • Ve výchozím nastavení funguje dig pouze s ipv4, kde hostitel poskytuje odpovědi ipv4 i ipv6. Může to být neočekávané. Můžete zkusit host www.google.com, dig +short www.google.com, host ipv6.google.com, dig +short ipv6.google.com, host www.facebook.com , dig +short www.facebook.com.
  • DIG nefunguje, pokud je to CNAME, IP nevrátí.
  • Někdy host lze vypršet a nic nevrátí. U některých domén může dig +short vrátit alias domény v prvním řádku. Takže pro zajištění výstupu je IPv4 adresa, použijte dig +short example.com | grep -Eo '[0-9\.]{7,15}' | head -1.
  • Použití getent hosts <host> je nesprávné, jako pro instan může poskytnout adresu IPv6, zatímco IPv6 nefunguje ‚. Správným řešením je použít getent ahosts <host> v případě potřeby vyzkoušet IPv6 i IPv4.
  • Za zmínku stojí: host, dig a nslookup zřejmě přímo komunikují s uvedenými servery v resolv.conf, zatímco “ hostující host “ respektuje jak soubor lokálního hostitele, tak mezipaměť na úrovni knihovny (například nscd), pokud je povolena .

Odpověď

S host z dnsutils balíček:

$ host unix.stackexchange.com unix.stackexchange.com has address 64.34.119.12 

( Opraveno název balíčku podle komentářů. Poznámka: ostatní distribuce mají host v různých balíčcích: Debian / Ubuntu bind9-host , openSUSE bind-utils , Frugalware bind .)

Komentáře

  • Pokud potřebujete vyřešit něco, co není v DNS (viz / etc / hosts), podívejte se na níže uvedený vstup Resolutionip.
  • Uvědomte si, že host někdy vrací víceřádkový výstup (v případě přesměrování), ‚ budete chtít host unix.stackexchange.com | tail -n1 pokud chcete pouze linku s IP adresou.
  • Existuje několik verzí “ hostitele “ s různými výstupními formáty. Např. většina systémů vypadá, že má verzi BIND9, ale můj server Ubuntu 10.04 LTS má nějak úplně jinou verzi.
  • pokud ‚ nemáte host nebo dig nainstalovaný můžete místo toho použít ping, který je vždy k dispozici: ping unix.stackexchange.com -c 1 -q 2>&1 | grep -Po "(\d{1,3}\.){3}\d{1,3}" toto nepotřebuje žádné na většinu zápasů Unix / Linux se instalují další balíčky.
  • Tato odpověď si zaslouží vážný downvote. host je nástroj DNS (podobně jako nslookup), takže vyhledává pouze hostitele v DNS, nikoli např. /etc/hosts. Tedy NENÍ odpověď na OP ‚ s otázku.

Odpověď

Mám na svém stroji nástroj, který tuto práci zřejmě dělá. Stránka man ukazuje, že se zdá, že přichází s mysql … Zde je způsob, jak jej můžete použít:

resolveip -s unix.stackexchange.com 64.34.119.12 

Návratová hodnota tohoto nástroje se liší od 0 pokud název hostitele nelze vyřešit:

resolveip -s unix.stackexchange.coma resolveip: Unable to find hostid for "unix.stackexchange.coma": host not found exit 2 

UPDATE Ve Fedoře je dodáván s serverem mysql:

yum provides "*/resolveip" mysql-server-5.5.10-2.fc15.x86_64 : The MySQL server and related files Dépôt : fedora Correspondance depuis : Nom de fichier : /usr/bin/resolveip 

Myslím, že by to pro váš skript vytvořilo zvláštní závislost …

Komentáře

  • Toto se zdá být jediným řešením zde, které používá OS ‚ s build v resolveru – takže funguje pro / etc / hosts stejně jako DNS.
  • getent, jak je podrobně uvedeno v druhé odpovědi, se také podívá na / etc / hosts a je dodáván s glibc, takže nemá žádné závislosti na systému Linux.
  • Nepoužíval bych vyřešit, protože jste vytvořili závislost na jiném balíčku. getent je nainstalován ve výchozím nastavení. host, nslookup a dig jsou všechny ve volitelných balíčcích. Určitě použijte getent ve skriptu.
  • Líbí se mi tato odpověď, ale ‚ n nevrací ipv6

Odpověď

Následující příkaz pomocí dig vám umožní číst výsledek přímo bez sed / awk / atd. magic:

$ dig +short unix.stackexchange.com 64.34.119.12 

dig je také součástí dnsutils balíček.


Poznámka : dig má návratovou hodnotu 0, i když název nebylo možné vyřešit. Místo kontroly návratové hodnoty tedy musíte zkontrolovat, zda je výstup prázdný:

hostname=unix.stackexchange.com ip=`dig +short $hostname` if [ -n "$ip" ]; then echo IP: $ip else echo Could not resolve hostname. fi 

Poznámka 2 : Pokud má název hostitele více adres IP (zkuste například debian.org), budou všechny vráceno. Tento „problém“ ovlivňuje všechny nástroje uvedené v této otázce:

Komentáře

  • Upozorňujeme, že pokud má doména záznam CNAME jeho doména může být vytištěna v prvním řádku místo IP adresy.

Odpověď

getent hosts unix.stackexchange.com | cut -d" " -f1 

Komentáře

  • Zvažte také ahosts, ahostsv4, ahostsv6 s getent.
  • cut nebude pro getent ‚ s, který k oddělení sloupců používá \t. To je případ systému Solaris.
  • @ceving: Na Sole možná budete muset spustit cut bez -d (výchozí nastavení je \t jako oddělovač). V systému Linux je to ‚ s mezerami, takže výše uvedený řádek funguje.

Odpovědět

Doposud uvedená řešení většinou fungují v jednodušším případě: název hostitele se přímo převede na jednu adresu IPv4. Toto může být jediný případ, kdy potřebujete vyřešit názvy hostitelů, ale pokud ne, níže uvádíme diskusi o některých případech, které možná budete muset vyřešit.

Chris Down a Heinzi stručně diskutovali o případu, kdy je název hostitele vyřešen na více než jednu IP adresu. V tomto případě (a dalších níže) může dojít k přerušení základního skriptování za předpokladu, že se název hostitele přímo přeloží na jednu adresu IP. Níže je příklad s názvem hostitele, který řeší více než jednu adresu IP:

$ host www.l.google.com www.l.google.com has address 209.85.148.147 www.l.google.com has address 209.85.148.103 www.l.google.com has address 209.85.148.99 www.l.google.com has address 209.85.148.106 www.l.google.com has address 209.85.148.105 www.l.google.com has address 209.85.148.104 

Ale co je www.l.google.com ? Zde je třeba zavést alias případ. Podívejme se na níže uvedený příklad:

$ host www.google.com www.google.com is an alias for www.l.google.com. www.l.google.com has address 74.125.39.103 www.l.google.com has address 74.125.39.147 www.l.google.com has address 74.125.39.105 www.l.google.com has address 74.125.39.99 www.l.google.com has address 74.125.39.106 www.l.google.com has address 74.125.39.104 

Takže www.google.com se neřeší přímo na IP adresy, ale na alias, který sám překládá na více IP adres. Další informace o aliasech najdete zde . Samozřejmě je možný případ, kdy má alias jedinou IP adresu. , jak je uvedeno níže:

$ host g.www.ms.akadns.net g.www.ms.akadns.net is an alias for lb1.www.ms.akadns.net. lb1.www.ms.akadns.net has address 207.46.19.190 

Lze ale aliasy zřetězit?Odpověď zní ano:

$ host www.microsoft.com www.microsoft.com is an alias for toggle.www.ms.akadns.net. toggle.www.ms.akadns.net is an alias for g.www.ms.akadns.net. g.www.ms.akadns.net is an alias for lb1.www.ms.akadns.net. lb1.www.ms.akadns.net has address 207.46.19.254 $ host www.google.fr www.google.fr is an alias for www.google.com. www.google.com is an alias for www.l.google.com. www.l.google.com has address 74.125.39.147 www.l.google.com has address 74.125.39.103 www.l.google.com has address 74.125.39.99 www.l.google.com has address 74.125.39.106 www.l.google.com has address 74.125.39.104 www.l.google.com has address 74.125.39.105 

Nenašel jsem žádný příklad, kdy by název hostitele přešel na alias, který nevyřeší adresu IP, ale myslím, že může nastat případ.

Existuje více než více adres IP a aliasů, existují nějaké další speciální případy … a co IPv6? Můžete zkusit:

$ host ipv6.google.com ipv6.google.com is an alias for ipv6.l.google.com. ipv6.l.google.com has IPv6 address 2a00:1450:8007::68 

Kde název hostitele ipv6.google.com je název hostitele pouze pro IPv6. A co názvy hostitelů s dvojitým zásobníkem:

$ host www.facebook.com www.facebook.com has address 66.220.153.15 www.facebook.com has IPv6 address 2620:0:1c08:4000:face:b00c:: 

Pokud jde o protokol IPv6, pokud je váš hostitel pouze protokolem IPv4, můžete stále rozlišovat adresy IPv6 (testováno pouze na protokolu WinXP pouze pro protokol IPv4 a s ipv6.google.com si to můžete vyzkoušet na Linuxu). V tomto případě je rozlišení úspěšné, ale ping selže s neznámou chybovou zprávou hostitele . Může to být případ, kdy vaše skriptování selže.

Doufám, že tyto poznámky byly užitečné.

Komentáře

  • Jaké skvělé doplněk přijaté odpovědi, ukazující všechny okrajové případy, se kterými se člověk bude chtít při skriptování vypořádat. Moje verze host ani neuvádí “ adresu “ pro mé schránky.

Odpověď

Chcete-li se vyhnout problémům s aliasy a vždy připravit k použití jednu IP adresu:

python -c "import socket; print socket.gethostbyname("www.example.com")" 

Komentáře

Odpověď

ping -q -c 1 -t 1 your_host_here | grep PING | sed -e "s/).*//" | sed -e "s/.*(//" 

funguje bez závislostí na jiných systémech (a pro hostitele uvedené v / etc / hosts)

Komentáře

  • Použití ping je to, co jsem potřeboval, protože potřebuji hodnotu ze souboru hostitelů, ale vzor sed správně rozebrat, ale to fungovalo ping – q -c 1 -t 1 váš_hostitel_tu | grep PING | sed -e “ s / ^ [^ (] * [(] // “ | sed -e “ s / [)]. * $ // “
  • Chcete-li vyřešit něco v mé domácí síti, jako je myhostname.local, funguje to tak pro já to je nejlepší odpověď.
  • Mohu navrhnout také toto: ping -q -c 1 -t 1 bahface.local | grep -m 1 PING | cut -d "(" -f2 | cut -d ")" -f1
  • getent <ahosts|ahostsv4|ahostsv6|hosts> <hostname> pracuje také pro deklarace uvnitř /etc/hosts … a ‚ je go-to-tool pro všechny druhy systémových databází (heslo, skupina, aliasy, služby).

Odpověď

Jednoduché, ale užitečné :

  1. getent ahostsv4 www.google.de | grep STREAM | head -n 1 | cut -d " " -f 1
  2. getent ahostsv6 www.google.de | grep STREAM | head -n 1 | cut -d " " -f 1
  3. getent hosts google.de | head -n 1 | cut -d " " -f 1

Všechny příkazy vyřeší IP adresu, pokud hostitel stále existuje. Pokud hostitel ukazuje na CNAME, získá také IP case.

První příkaz vrátí vyřešenou adresu IPv4.

Druhý příkaz vrátí res olved IPv6 address.

Třetí příkaz vrátí preferovanou adresu vlastníka, která může být buď IPv4 nebo IPv6 adresa.

Komentáře

  • Zdaleka nejjednodušší. A je k dispozici ve výchozím nastavení. Ne jako host, které vyžadují instalaci bindutils

odpovědi

Zde je nepatrná variace přístupu ping, který bere v úvahu „neznámého hostitele“ (pomocí propojení přes stderr) a používá tr vyhnout se použití sed regexps:

ping -c1 -t1 -W0 www.example.com 2>&1 | tr -d "():" | awk "/^PING/{print $3}" 

V případě je důležité zachytit výstupní hodnotu, pak bude fungovat následující (i když méně elegantní):

ping -c1 -t1 -W0 www.example.com &>/dev/null && ping -c1 -t1 -W0 www.example.com 2>&1 | tr -d "():" | awk "/^PING/{print $3}" 

Komentáře

  • Toto řešení se mi líbí, protože funguje bez jakýchkoli dalších nástrojů.

Odpověď

Chcete-li dokončit odpověď Chrisa Downa a vypořádat se s komentáři jfgagne ohledně (případně zřetězených) aliasů, máme zde řešení, které:

  • zohledňuje více IP adres
  • jeden nebo více aliasů (CNAME)
  • neotázá se na /etc/hosts soubor ( v mém případě jsem to nechtěl); k dotazování je dberntovo pythonové řešení perfektní)
  • nepoužívá awk / sed

    dig +short www.alias.com | grep -v "\.$" | head -n 1 

Vždy vrátí první IP adresu, nebo pokud není vyřešen prázdný tring. s verzí dig:

 $ dig -v DiG 9.8.1-P1 

Komentáře

  • Díky, ostatní odpovědi předpokládají “ dig + short “ vždy návrat jediná adresa IP. ‚ nezohledňují CNAME.

Odpověď

 php -r "echo gethostbyname("unix.stackexchange.com");" 

Komentáře

  • to funguje, ale vyžaduje to, aby byl na vašem terminálu nainstalován php
  • může být užitečný v typickém kontejneru php docker, kde “ host „, “ dig “ atd. nejsou k dispozici

Odpověď

Chtěl bych to přidat jako komentář pro Andrew McGregor Re: ping. To by mi to však nedovolilo, takže to musím přidat jako další odpověď. (Pokud to někdo může přesunout do komentáře, neváhejte.)

Toto je další varianta, pouze s použitím ping a grep :

ping -q -c1 -t1 your_host_here | grep -Eo "([0-9]+\.?){4}" 

grep -E pro rozšířený regulární výraz a grep -o do vrátit pouze odpovídající část. regexp sám hledá jednu nebo více číslic ([0-9]+) a volitelně tečku (\.?) čtyřikrát ( {4})

Odpověď

Můžete použít host:

hostname=example.org # strips the IP IP=$( host ${hostname} | sed -e "s/.*\ //" ) # checks for errors if [ $? -ne 0 ] ; then echo "Error: cannot resolve ${hostname}" 1>&2 exit 1; fi 

Odpovědět

zde „sa Bash recept Připravil jsem se pomocí odpovědí jiných lidí – nejprve zkusím /etc/hosts, pak přejdu zpět na nslookup:

 resolveip(){ local host="$1" if [ -z "$host" ] then return 1 else local ip=$( getent hosts "$host" | awk "{print $1}" ) if [ -z "$ip" ] then ip=$( dig +short "$host" ) if [ -z "$ip" ] then echo "unable to resolve "$host"" >&2 return 1 else echo "$ip" return 0 fi else echo "$ip" return 0 fi fi }  

Komentáře

  • Aby bylo jasno, getent hosts není ‚ pouze vyhledávání v / etc / hosts – ‚ je plnohodnotné volání DNS na gethostbyaddr (3) a je ‚ s velmi nepravděpodobné, že by selhal v případě, že dig uspěje. Podívejte se na manuálovou stránku pro získání .
  • @Stuart má pravdu – ‚ jsem se naučil hodně od té doby, co jsem to napsal, a zjednodušil mocný příkaz. getent zůstává mým oblíbeným, i když se mi líbí také dig +short

odpověď

nmap -sP 192.168.178.0/24|grep YOUR_HOSTNAME|sed -n "s/.*[(]\([0-9\.]*\)[)].*/\1/p" 

bylo řešení, které jsem našel bez serveru DNS

Odpověď

Možná ne nejstručnější, ale zdá se být robustní a efektivní:

# $(get_host_dns_short "google.com") # # Outputs the IPv4 IP Address of a hostname, resolved by DNS. Returns 0 if DNS # responded successfully; 1 otherwise. Will mask error output. function get_host_dns_short() { ( set -o pipefail host -4 -W1 -t A "$1" 2>/dev/null | awk "/has address/ { print $NF; exit }" ) && return 0 || return 1 } 

Tím se vygeneruje jeden protokol IPv4 IP, stejně jako návrat 1 v případě selhání při maskování výstupu stderr.

Můžete jej použít takto:

GOOGLE_IP="$(get_host_dns_short "google.com")" if [[ $? -eq 0 ]]; then echo "Google"s IP is ${GOOGLE_IP}." else echo "Failed to resolve Google"s IP." fi 

IP adresa Google je 216.58.192.46.

Pokud místo toho chcete adresu IPv6, jednoduše nahraďte -4 -6.

odpověď

dig +noall +answer +nocomments example.com | awk "{printf "%-36s\t%s\n", $1, $5 }"

Komentáře

  • Nějaký kontext, jakým způsobem by se tato odpověď zlepšila oproti již existujícím být skvělý. Také prosím odsaďte příkazy o 4 mezery (srov. Syntaxi markdownu).

Odpověď

dig je také pomalý, nslookup je mnohem rychlejší

nslookup google.com | grep -Po "Address:\s*[0-9.]+" | tail -1 | sed -e "s/Address:\s*//g" 

odpověď

1 řádek vyřeší seznam hostname

for LINE in `cat ~/Desktop/mylist`; do a=$(nslookup $LINE | awk "/^Address: / { print $1 }"); echo $a >> ~/Desktop/ip; done 

Odpověď

Dělám to pořád na svém Mac, který nemá getent. ping vypadá jako hack. Chtěl bych vzít v úvahu také /etc/hosts.

Takže jsem napsal hloupou obálku pro dns.lookup pro vy, kteří máte nainstalovaný Node.js, abyste poskytli CLI:

$ npm install -g lookup-hostname $ lookup google.com 62.243.192.89 

Komentáře

  • 60% šance rozbití, než se dostanete téměř k vyřešení.
  • @dotbit byste to mohli vysvětlit? Tento týden jsem používal ‚ od ‚ 17 a nikdy jsem neměl žádné problémy.
  • @Jensen, ale vy ‚ jako jediný vždy jediný. My ostatní obvykle narazíme na FAIL toho či onoho druhu a vždy.
  • “ jako vždy “ Co tím myslíte? “ My ostatní “ Kdo ‚ s tím ? “ narazíte na FAIL “ Jaký konkrétní problém vidíte? Jsem ‚ zvědavý.

Odpovědět

Já ne “ Neznáte nejjednodušší způsob bash skriptu, ale pokud chcete vyřešit název hostitele a zjistit, zda je hostitel funkční, použijte ping!

ping -a hostname -c 1 

Bude ping hostitele jednou a přeloží název hostitele na adresu IP.

$ ping -a www.google.com -c 1 PING www.google.com (216.58.211.132) 56(84) bytes of data. 64 bytes from arn09s10-in-f4.1e100.net (216.58.211.132): icmp_seq=1 ttl=54 time=1.51 ms 

Komentáře

  • použití pingu je dobré, protože ho má každý, ale musíte filtrujte část IP z výstupů, pokud ji chcete použít ve skriptu.

Odpovědět

Ano, již existuje mnoho odpovědí, ale řešení využívající perl chybí:

perl -MSocket -MNet::hostent -E "say inet_ntoa((gethost shift)->addr)" unix.stackexchange.com 

V bash skriptu by to mohlo být použito takto:

#!/bin/bash ipaddr=$(perl -MSocket -MNet::hostent -E "say inet_ntoa((gethost shift)->addr)" unix.stackexchange.com) echo $ipaddr 

Zde používané moduly jsou základní moduly, takže by měly být dostupné všude bez instalace pomocí CPAN.

Komentáře

  • perl -MSocket -MNet::hostent -E 'say inet_ntoa((gethost shift)->addr)' unix.stackexchange.com 2>/dev/null je mnohem čistší. ale nikdo kromě nás dvou nepoužívá p ö rl, všichni ostatní samozřejmě používají Pascal Script.
  • Vlastně bych raději viděl chybové zprávy, pokud vůbec něco pokazí. Can't call method "addr" on an undefined value není ‚ úplně nejlepší chybová zpráva, může však napovědět o problému.

Odpověď

#!/bin/bash systemd-resolve RT.com -t A | awk "{ print $4 ; exit }" systemd-resolve unix.stackexchange.com -t A --legend=no | awk "{ print $4 ; exit }" resolveip -s RT.com dig +short RT.com host RT.com | awk "/has address/ { print $4 }" nslookup RT.com | awk "/^Address: / { print $2 }" ping -q -c 1 -t 1 RT.com | grep PING | sed -e "s/).*//" | sed -e "s/.*(//" ruby -rresolv -e " print Resolv.getaddress "RT.com" " python2 -c "import socket; print socket.gethostbyname("RT.com")" perl -MSocket -MNet::hostent -E "say inet_ntoa((gethost shift)->addr)" RT.com 2>/dev/null php -r "echo gethostbyname( "RT.com" );" echo " all do work for me - take your pick! " 

Komentáře

  • Rubínová verze tiskne uvozovky kolem IP adresy – místo p by měl být pravděpodobně použit print.
  • thx, @Slaven Rezic a klidně hlasujte. pak znovu, tady dole může být skript ve skutečnosti viditelnější … 😉

Odpověď

host -t a cisco.com 

tento příkaz zobrazí adresu IP (převezme doménu na IP)

odpověď

Kromě výše uvedeného řešení můžete přeložit více názvů hostitelů na ip pomocí následujícího skriptu, jedinou závislostí je příkaz „ping“ v jádru Unixu:

getip(){ ping -c 1 -t 1 $1 | head -1 | cut -d " " -f 3 | tr -d "()" 2>&1 | tee >> /tmp/result.log & } getip "hostname.number1.net" getip "hostname.number2.net" getip "hostname.number3.net" getip "hostname.number4.net" getip "hostname.number5.net" getip "hostname.number6.net" getip "hostname.number7.net" getip "hostname.number8.net" 
$ cat /tmp/result.log ABC.DEF.GHI.XY1 ABC.DEF.GHI.XY2 ABC.DEF.GHI.XY3 ABC.DEF.GHI.XY4 ABC.DEF.GHI.XY5 ABC.DEF.GHI.XY6 ABC.DEF.GHI.XY7 ABC.DEF.GHI.XY8 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *