[4] Comentário enviado por filipi_saci em 02/12/2015 - 11:39h
Bom dia pessoal,
Estou com uma dúvida.. O que exatamente acontece nessa linha:
for node in `$wget -q --no-check-certificate -O - $url | sort | uniq`;do
Primeira dúvida, o apostrofo está certo?? ou deveria ser '
Segunda dúvida, ao executar o script tenho o seguinte retorno para o parâmetro -q:
iptables v1.4.21: unknown option "-q"
Try `iptables -h' or 'iptables --help' for more information.
Terceira, se eu tiro os parâmetros acaba dando erro nos outros parâmetros, como no --no-check-certificate
Alguém pode me dizer o que faz exatamente a linha do for?
Desde já, agradeço.
------------------------------------------------------------
Segue resposta dada pelo thinomar no post:
http://www.vivaolinux.com.br/topico/Shell-Script/Duvida-num-laco-de-repeticao-com-For/
------------------------------------------------------
`$wget -q --no-check-certificate -O - $url | sort | uniq`
$wget é a variável que aponta para o caminho completo do wget:
wget='/usr/bin/wget'
Os argumentos:
-q: Suprime saídas do comando wget.
--no-check-certificate: Suprime saídas referentes a HTTPS.
-O: imprime o conteúdo do arquivo baixado na tela.
$url: Variável que aponta para URL:
url='https://www.whatsapp.com/cidr.txt'
|: Redirecionador da saída de um comando.
sort: Organiza texto (ordem alfabética).
uniq: Elimina registros duplicados.
E o acento grave (crase `) serve para dar prioridade de execução para o código dentro dela.
Sobre o for: o resultado do wget está sendo jogado, linha a linha, na variável node. Cada linha é um looping e o for executará até que chegue na última linha do arquivo baixado.
Sobre o comando dentro do for:
$ipt: Variável que contém caminho do iptables, que foi declarado no inicio do script.
-I WHATSAPP: Inserção na chain WHATSAPP
-d $node: Aplicar regra ao destino contido na variável node, que recebe conteúdo no laço.
-p tcp --dport 443: O que estiver no protocolo TCP e porta 443
-j $ipt_target: Decisão a se tomar (a variável está com o valor ACCEPT, como visto no inicio do código, o que significa que esse looping está liberando as transações de rede do WhatsApp)
--