shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problema com o FOR


From: brunodiasinfo
Subject: Problema com o FOR
Date: 18 Aug 2018 13:49:12 +0000

Prezados tudo bem?


Eu estou escrevendo um código que verifique a versão SOA dos DNS's, mas encontrei um grande problema, 

quando fazemos uma requisição ao DNS usando  o código (dig @a1.a.dns.br soa com.br am.br 9guacu.br +short | cut -d " " -f3) ele irá

retornar a versão SOA das 3 zonas dns (com.br, am.br e 9guacu.br) sendo no formato abaixo:


2018230324

2018230324

2018230324


O meu objetivo é fazer com que a saída seja assim:


com.br = 2018230324

am.br = 2018230324

9guacu.br = 2018230324


Eu tentei fazer com FOR, mas o resultado de saída é assim:


com.br am.br 9guacu.br - 2018230324

com.br am.br 9guacu.br - 2018230324

com.br am.br 9guacu.br - 2018230324


Então eu peguei os espaços entre as zonas e coloquei um \n e ficou assim a saída:


 com.br

am.br

9guacu.br - 2018230328

 com.br

am.br

9guacu.br - 2018230328

 com.br

am.br

9guacu.br - 2018230328



Poderiam me ajudar? desde já Obrigado.



Segue o trecho do código:


elif [ $1 = y ] 

then

        case "$2" in

    

           a)   

                shift 2;

                echo "dig "omiti esse" soa $* +short | cut -d \" \" -f3"

                dig "Omiti esse" soa $* +short | cut -d " " -f3 

echo "

"               

                for i in {1..8}

                do

                echo "dig @a$i.a.dns.br soa $* +short | cut -d \" \" -f3"

                soa=$(dig @a$i.a.dns.br soa $* +short | cut -d " " -f3) 

                zona=$(sed 's/ /\n/g' <<< $*)   

                        for ver in $soa ; do

                        echo "$zona - $ver"

        done

        done


                ;;


Explicação:


Ele verifica o primeiro argumento, se for Y ele verifica se o segundo argumento é "a", se for ele da um shift e elimina os 2 primeiros argumentos (o Y e o A) deixando como argumento

somente as zonas dns.

Como falado, o objetivo é mostrar a zona mais a versão, separado por "=", a quantidade de zonas vai variar também.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]