{"id":1092,"date":"2022-03-14T18:09:27","date_gmt":"2022-03-14T21:09:27","guid":{"rendered":"http:\/\/blog.saperx.com.br\/?p=1092"},"modified":"2022-03-14T18:12:27","modified_gmt":"2022-03-14T21:12:27","slug":"bash-truques-e-dicas-para-o-seu-dia-a-dia","status":"publish","type":"post","link":"https:\/\/blog.saperx.com.br\/index.php\/2022\/03\/14\/bash-truques-e-dicas-para-o-seu-dia-a-dia\/","title":{"rendered":"Bash &#8211; Truques e Dicas para o seu dia a dia"},"content":{"rendered":"\n<p><strong>Bash<\/strong> = <strong>B<\/strong>orn <strong>A<\/strong>gain <strong>Sh<\/strong>ell<\/p>\n\n\n\n<p>Fa&ccedil;o esta publica&ccedil;&atilde;o aos meus amigos e colegas de profiss&atilde;o que gostam de Linux e querem algumas dicas para melhorar os seus scripts em bash. Aqui aprenderemos alguns macetes &uacute;teis para o dia a dia.<\/p>\n\n\n\n<p>Pr&eacute;-requisitos:<br>Abra um terminal, pois voc&ecirc; vai gostar de ver a m&aacute;gica ocorrendo. <br>Aprender bash &eacute; como andar de bicicleta: Por mais que eu lhe ensine a teoria, o aprendizado s&oacute; ocorre na pr&aacute;tica. <\/p>\n\n\n\n<h2>B&aacute;sico<\/h2>\n\n\n\n<p>Saiba que tudo o que voc&ecirc; escrever no seu terminal, ser&aacute; primeiramente <strong>interpretado<\/strong> pelo bash, e ent&atilde;o acionado o comando desejado.<\/p>\n\n\n\n<p>Veja bem a palavra &ldquo;interpretado&rdquo; que escrevi acima. <\/p>\n\n\n\n<p>&Eacute; isso mesmo: Entre o comando executado no terminal e o acionamento do comando, existe uma etapa que poucos conhecem. E &eacute; ela que iremos explor&aacute;-la.<\/p>\n\n\n\n<p>Desenharei o que acabei de dizer:<\/p>\n\n\n\n<p>Muitos pensam que &eacute; assim:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"366\" height=\"113\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-3.png\" alt=\"image 3 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1096\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-3.png 366w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-3-300x93.png 300w\" sizes=\"(max-width: 366px) 100vw, 366px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Na verdade, o que temos: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"534\" height=\"99\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image.png\" alt=\"image - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1093\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image.png 534w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-300x56.png 300w\" sizes=\"(max-width: 534px) 100vw, 534px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Na pr&aacute;tica ter um &ldquo;bash&rdquo; no meio do caminho possibilita fazer isso:<\/p>\n\n\n\n<p><strong>mkdir pasta_{1,2,3}<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"370\" height=\"54\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-1.png\" alt=\"image 1 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1094\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-1.png 370w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-1-300x44.png 300w\" sizes=\"(max-width: 370px) 100vw, 370px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>O que aconteceu acima foi:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"640\" height=\"217\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-2.png\" alt=\"image 2 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1095\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-2.png 640w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-2-300x102.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-2-600x203.png 600w\" sizes=\"(max-width: 640px) 100vw, 640px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Entendido o meu resumo b&aacute;sico acima? Ent&atilde;o vamos para a parte pr&aacute;tica!!<\/p>\n\n\n\n<h2>Pr&aacute;tica<\/h2>\n\n\n\n<p>Como todo t&eacute;cnico gosta, vou ser extremamente objetivo: <br>Comando + breve explica&ccedil;&atilde;o + print do resultado<\/p>\n\n\n\n<p>Utilize a sua criatividade para fazer muito mais. A ideia aqui &eacute; abrir a sua mente.<br>Lembre-se: Utilizarei comandos como exemplo. Vou utilizar os mais conhecidos &ldquo;echo, ls, mkdir, rm&rdquo;, mas poderia ser utilizado qualquer outro.<\/p>\n\n\n\n<p>Vamos ao aprendizado de A a Z:<br><br><strong>A) Listando de 0 a 50<\/strong><br>echo {0..50}<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"748\" height=\"75\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-6.png\" alt=\"image 6 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1100\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-6.png 748w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-6-300x30.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-6-600x60.png 600w\" sizes=\"(max-width: 748px) 100vw, 748px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>B) Listando de 0 a 50, pulando de 10 em 10<\/strong><br>echo {0..50..10}<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"375\" height=\"64\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-7.png\" alt=\"image 7 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1101\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-7.png 375w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-7-300x51.png 300w\" sizes=\"(max-width: 375px) 100vw, 375px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>C) Listando de Z a A<\/strong><br>echo {Z..A}<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"386\" height=\"51\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-9.png\" alt=\"image 9 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1103\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-9.png 386w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-9-300x40.png 300w\" sizes=\"(max-width: 386px) 100vw, 386px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>D) Criar uma pasta para cada mes do ano<\/strong><br>mkdir mes_{00..12}<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"734\" height=\"75\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-10.png\" alt=\"image 10 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1104\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-10.png 734w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-10-300x31.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-10-600x61.png 600w\" sizes=\"(max-width: 734px) 100vw, 734px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>E) Criar uma pasta por m&ecirc;s, desde o ano 2000<\/strong><br>mkdir {2000..2020}_{01..12}<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"117\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-34-1024x117.png\" alt=\"image 34 1024x117 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1129\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-34-1024x117.png 1024w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-34-300x34.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-34-768x88.png 768w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-34-1536x175.png 1536w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-34-600x68.png 600w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-34.png 1772w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>F) Listar todas as pastas do m&ecirc;s 10<\/strong><br>ls | grep 10$<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"330\" height=\"377\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-12.png\" alt=\"image 12 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1106\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-12.png 330w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-12-263x300.png 263w\" sizes=\"(max-width: 330px) 100vw, 330px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Note o &ldquo;$&rdquo; no final, significa tudo que TERMINAR com 10.<\/p>\n\n\n\n<p><strong>G) Listar todas as pastas iniciadas com 2000<\/strong><br>ls | grep ^2000<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"353\" height=\"229\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-13.png\" alt=\"image 13 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1107\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-13.png 353w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-13-300x195.png 300w\" sizes=\"(max-width: 353px) 100vw, 353px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Note o ^2000, significa tudo que iniciar por 2000.<\/p>\n\n\n\n<p><strong>H) Criar pastas cliente_A e cliente_B, contendo, dentro delas, todos os meses do ano de 2020<\/strong><br>mkdir -p cliente_{A,B}\/2020-{01..12}<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"754\" height=\"92\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-14.png\" alt=\"image 14 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1109\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-14.png 754w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-14-300x37.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-14-600x73.png 600w\" sizes=\"(max-width: 754px) 100vw, 754px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>I) Redirecionando sa&iacute;da para um arquivo<\/strong><br>ls cliente_A <strong>&gt;<\/strong> arquivo_A<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"449\" height=\"226\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-15.png\" alt=\"image 15 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1110\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-15.png 449w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-15-300x151.png 300w\" sizes=\"(max-width: 449px) 100vw, 449px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Note o sinal &ldquo;&gt;&rdquo;. <br>Este sinal ir&aacute; LIMPAR o arquivo + jogar a sa&iacute;da para ele<\/p>\n\n\n\n<p><strong>J) tee: Redirecionando sa&iacute;da para um arquivo + apresentando sa&iacute;da na tela<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"531\" height=\"464\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-17.png\" alt=\"image 17 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1112\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-17.png 531w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-17-300x262.png 300w\" sizes=\"(max-width: 531px) 100vw, 531px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>tee<\/strong> -&gt; Joga a sa&iacute;da no stdout padr&atilde;o e, tamb&eacute;m, para o arquivo informado por par&acirc;metro<\/p>\n\n\n\n<p><strong>K) Adicionando informa&ccedil;&atilde;o no final do arquivo, sem substituir o conte&uacute;do existente<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"460\" height=\"452\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-19.png\" alt=\"image 19 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1114\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-19.png 460w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-19-300x295.png 300w\" sizes=\"(max-width: 460px) 100vw, 460px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>&gt;&gt; <\/strong>-&gt; Com dois &ldquo;&gt;&rdquo;, o conte&uacute;do ser&aacute; adicionado no final do arquivo<\/p>\n\n\n\n<p><strong>L) Redirecionando a sa&iacute;da de erro para um arquivo<\/strong><br>xxxxxx <strong>2&gt;<\/strong> a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"330\" height=\"146\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-20.png\" alt=\"image 20 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1115\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-20.png 330w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-20-300x133.png 300w\" sizes=\"(max-width: 330px) 100vw, 330px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>O 2&gt; &eacute; utilziado para redirecionar a sa&iacute;da de erro.<\/p>\n\n\n\n<p><strong>M) Redirecionando a sa&iacute;da de sucesso para o arquivo, mas a sa&iacute;da de erro para lugar nenhum<\/strong><br>xxxxxx &gt; a 2&gt; \/dev\/null<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"436\" height=\"53\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-21.png\" alt=\"image 21 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1116\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-21.png 436w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-21-300x36.png 300w\" sizes=\"(max-width: 436px) 100vw, 436px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>N) Atribuindo vari&aacute;vel, &eacute; tudo junto!<\/strong><br>a=10 (certo &ndash; n&atilde;o utilize espa&ccedil;os)<br>a = 10(errado)<br>a= 10 (errado)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"300\" height=\"129\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-22.png\" alt=\"image 22 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1117\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>O) Somando<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"354\" height=\"125\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-23.png\" alt=\"image 23 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1118\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-23.png 354w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-23-300x106.png 300w\" sizes=\"(max-width: 354px) 100vw, 354px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Note que &ldquo;echo $c&rdquo; &eacute; o correto, com &ldquo;$&rdquo;.<\/p>\n\n\n\n<p><strong>P) V&aacute;rios comandos em uma linha<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"451\" height=\"72\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-24.png\" alt=\"image 24 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1119\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-24.png 451w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-24-300x48.png 300w\" sizes=\"(max-width: 451px) 100vw, 451px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Basta separar por &ldquo;;&rdquo; entreum comando e outro.<\/p>\n\n\n\n<p><strong>Q) Se o primeiro comando n&atilde;o retornar erro, ent&atilde;o execute o segundo comando<\/strong><br>a=100 &amp;&amp; echo &ldquo;Valor de a: $a&rdquo;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"486\" height=\"55\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-28.png\" alt=\"image 28 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1123\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-28.png 486w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-28-300x34.png 300w\" sizes=\"(max-width: 486px) 100vw, 486px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>&amp;&amp;<\/strong> -&gt; Isso mesmo: cmd1 <strong>&amp;&amp;<\/strong> cmd2<br>o cmd2 s&oacute; ser&aacute; executado se o cmd1 tiver sucesso<\/p>\n\n\n\n<p>Agora vamos fazer uma falha no primeiro comando:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"457\" height=\"65\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-29.png\" alt=\"image 29 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1124\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-29.png 457w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-29-300x43.png 300w\" sizes=\"(max-width: 457px) 100vw, 457px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>R) Se o primeiro comando falhar, rode o segundo<\/strong><br>a= 100 || echo &ldquo;Valor de a: $a&rdquo;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"506\" height=\"66\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-30.png\" alt=\"image 30 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1125\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-30.png 506w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-30-300x39.png 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>||<\/strong> -&gt; Note que agora utilizei dois pipes<\/p>\n\n\n\n<p>Algo mais &uacute;til (Verificando se o arquivo existe):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"604\" height=\"53\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-31.png\" alt=\"image 31 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1126\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-31.png 604w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-31-300x26.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-31-600x53.png 600w\" sizes=\"(max-width: 604px) 100vw, 604px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>S) La&ccedil;o em bash &ndash; Rodando um PING para uma lista de IPs contendo em um arquivo chamado &ldquo;ips&rdquo;<\/strong><br>for ip in <code>cat ips<\/code>; do echo &ldquo;ICMP PARA O IP: $ip&rdquo;; ping -c 4 $ip | grep packets; echo &ldquo;&rdquo;; done<\/p>\n\n\n\n<p>Peguei pesado agora, mas vamos l&aacute;.. vai rabiscando com calma:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"940\" height=\"384\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-33.png\" alt=\"image 33 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1128\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-33.png 940w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-33-300x123.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-33-768x314.png 768w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-33-600x245.png 600w\" sizes=\"(max-width: 940px) 100vw, 940px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>T) Salvando comando em vari&aacute;vel<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"450\" height=\"146\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-35.png\" alt=\"image 35 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1130\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-35.png 450w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-35-300x97.png 300w\" sizes=\"(max-width: 450px) 100vw, 450px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>U) La&ccedil;o em bash &ndash; Outro exemplo, agora fazendo backup de todos os arquivos<\/strong><br>arquivos_para_backup=<code>ls<\/code><br>for arquivo in $arquivos_para_backup; do cp -rf $arquivo $arquivo.bkp; done<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"346\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-36-1024x346.png\" alt=\"image 36 1024x346 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1131\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-36-1024x346.png 1024w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-36-300x101.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-36-768x259.png 768w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-36-1536x519.png 1536w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-36-600x203.png 600w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-36.png 1903w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>V) Loop eterno, monitorando um PING<\/strong><br>while true; do ping -c 4 8.8.8.8; sleep 2; done<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"626\" height=\"594\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-37.png\" alt=\"image 37 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1132\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-37.png 626w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-37-300x285.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-37-600x569.png 600w\" sizes=\"(max-width: 626px) 100vw, 626px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>W) Loop eterno, salvando o resultado em arquivo<\/strong> e deixando a execu&ccedil;&atilde;o em background<br>while true; do ping -c 4 8.8.8.8 &gt;&gt; \/tmp\/meu_monitoramento.txt; sleep 2; done &amp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"817\" height=\"473\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-42.png\" alt=\"image 42 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1137\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-42.png 817w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-42-300x174.png 300w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-42-768x445.png 768w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-42-600x347.png 600w\" sizes=\"(max-width: 817px) 100vw, 817px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Explicando o comando:<br><strong>while true;<\/strong> <strong>do<\/strong> -&gt; Enquanto verdadeiro, fa&ccedil;a um loop (sempre ser&aacute; verdadeiro.. loop eterno)<br><strong>ping -c 4 8.8.8.8 &gt;&gt; \/tmp\/meu_monitoramento.txt;<\/strong> -&gt; Roda 4 pings para 8.8.8.8 salvando no final do arquivo especificado<br><strong>sleep 2;<\/strong> -&gt; pause de 2 segundos antes de continuar o la&ccedil;o<br><strong>done<\/strong> -&gt; fim do la&ccedil;o<br><strong>&amp;<\/strong> -&gt; Rodar o script em background. Portanto, voc&ecirc; pode fechar o terminal e ir tomar um caf&eacute;.<br><\/p>\n\n\n\n<p><strong>X) Express&otilde;es regulares &ndash; Mostrar somente os IPs<\/strong><br>cat ips | grep -E &lsquo;^[0-9]*.&rsquo;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"459\" height=\"160\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-38.png\" alt=\"image 38 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1133\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-38.png 459w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-38-300x105.png 300w\" sizes=\"(max-width: 459px) 100vw, 459px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Explicando:<br><strong>^<\/strong> -&gt; Tudo que iniciar<br><strong>[0-9] <\/strong>-&gt; Que for d&iacute;gito de 0 a 9<br><strong>*<\/strong> -&gt; Podendo ou n&atilde;o se repetir (os d&iacute;gitos de 0 a 9)<br><strong>\\.<\/strong> -&gt; Seguir de um ponto (a contra barra &eacute; um escape)<\/p>\n\n\n\n<p><strong>Y) Mesma l&oacute;gica da anterior, agora com letras<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"448\" height=\"161\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-39.png\" alt=\"image 39 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1134\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-39.png 448w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-39-300x108.png 300w\" sizes=\"(max-width: 448px) 100vw, 448px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p><strong>Z) Dificultando um pouco e sendo mais espec&iacute;fico<\/strong> &ndash; Filtrando os IPs um pouco melhor<br>cat ips | grep -E &lsquo;^([0-9]{1,3}.){3}[0-9]{1,3}&rsquo;<\/p>\n\n\n\n<p>Note que adicionei alguns ips &ldquo;fakes&rdquo; no in&iacute;cio do arquivo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"590\" height=\"213\" src=\"http:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-41.png\" alt=\"image 41 - Bash - Truques e Dicas para o seu dia a dia\" class=\"wp-image-1136\" srcset=\"https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-41.png 590w, https:\/\/blog.saperx.com.br\/wp-content\/uploads\/2022\/03\/image-41-300x108.png 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" title=\"Bash - Truques e Dicas para o seu dia a dia\"><\/figure>\n\n\n\n<p>Explicando:<br><strong>^<\/strong> -&gt; Tudo que iniciar<br><strong>([0-9]{1,3}.)<\/strong> -&gt; D&iacute;gitos de 0 a 9, podendo se repedir de 1 a 3 vezes, e terminado por .<br><strong>{3}<\/strong> -&gt; A regra agrupada anteriormente que est&aacute; entre ( ), deve se repetir 3x<br><strong>[0-9]{1,3}$<\/strong> -&gt; Que finalize com d&iacute;gitos de 0 a 9, podendo se repedir de 1 a 3 vezes<\/p>\n\n\n\n<h2>Finalizando<\/h2>\n\n\n\n<p>Espero que este post possa ajudar voc&ecirc; a entender um pouco mais sobre bash!<br>Com uma pitada de criatividade &eacute; poss&iacute;vel evoluir muito com cada um dos comandos acima apresentados.<\/p>\n\n\n\n<p>E a&iacute;, gostou?<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Bash = Born Again Shell<\/p>\n<p>Aprenda truques e dicas para o seu dia a dia no mundo shell. Aprenda a melhorar os seus scripts. <\/p>\n","protected":false},"author":2,"featured_media":1139,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[139,140,11],"_links":{"self":[{"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1092"}],"collection":[{"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=1092"}],"version-history":[{"count":5,"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1092\/revisions"}],"predecessor-version":[{"id":1142,"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1092\/revisions\/1142"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/media\/1139"}],"wp:attachment":[{"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=1092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=1092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.saperx.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=1092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}