Introdução ao Shell Script

O artigo traz uma introdução a Shell Script. Criaremos alguns exemplos práticos para que você consiga criar seus próprios scripts de automatização. Shell Script é um tipo de linguagem de programação que é utilizado por administradores Linux/Unix. Também é possível criar scripts para outros sistemas operacionais, mas o meu foco aqui será mesmo os sistemas Linux e suas distribuições.

[ Hits: 20.052 ]

Por: Renato Diniz Marigo em 15/02/2016 | Blog: http://www.renatomarigo.com.br


Dicas úteis para Shell Script



Descrevo aqui o uso de alguns recursos e comando que irão auxiliar no dia a dia de um programador de Shell Scripts. Para exemplificar usaremos um arquivo de texto com o seguinte conteúdo:

Linha: 1 Renato
Linha: 2 Carol
Linha: 3 Maria
Linha: 4 Iracema
Linha: 5 João
Linha: 6 Pedro

O comando GREP

Para localizar todas as ocorrências da palavra "linha:"

# cat arquivo.txt | grep Linha
# grep Linha arquivo.txt
Para localizar ocorrências da palavra Renato:

# cat arquivo.txt | grep Renato
Para que na pesquisa, seja indiferente maiúsculas e minúsculas usamos a opção -i do comando grep:

# cat arquivo.txt | grep -i renato

O comando CUT

Para separarmos o nosso texto em colunas precisamos usar um outro comando bem útil: "cut" e usaremos um delimitador para exibição. Vamos aos exemplos.

Arquivo original sem filtros:
Agora iremos separar em duas colunas o texto e usaremos o delimitador ":" para isso, aqui usarei este caractere porque temos este caracteres em todas as linhas e nosso dia a dia verificaremos qual o caractere que iremos utilizar como delimitador.

Exibindo a coluna 1:

# cut -d: -f1 arquivo.txt
Exibindo a coluna 2:

# cut -d: -f2 arquivo.txt
Exibindo as duas colunas:

# cut -d: -f1,2 arquivo.txt

O Comando awk

O comando awk também é muito útil quando quisermos fazer filtros de conteúdos por colunas, vamos a um exemplo.

Usaremos o comando "awk" para localizar a ocorrência da palavra Renato e mostrar que o comando consegue separar o filtro exibindo as colunas desejadas.

Para filtrar o nome Renato e exibir as 3 colunas:

# cat arquivo.txt | awk '/Renato/{print $1,$2,$3}'
Para filtrar o nome Renato e exibir a coluna 1:

# cat arquivo.txt | awk '/Renato/{print $1}'
Para filtrar o nome Renato e exibir a coluna 2:

# cat arquivo.txt | awk '/Renato/{print $2}'
Para filtrar o nome Renato e exibir a coluna 3:

# cat arquivo.txt | awk '/Renato/{print $3}'
Para filtrar o nome Renato e exibir as colunas 1 e 3:

# cat arquivo.txt | awk '/Renato/{print $1,$3}'
Página anterior     Próxima página

Páginas do artigo
   1. Introdução a Shell Script
   2. Nosso segundo script
   3. Declarando variáveis
   4. Interagindo com o usuário
   5. Usando laços e condicionais em Shell Script
   6. Dicas úteis para Shell Script
   7. Enviando dados a um servidor de FTP ou SFTP
Outros artigos deste autor

Nagios 3 + NagiosQL no Ubuntu Server 12.04

Instalação do WordPress no CentOS 7

Instalação do CentOS Atomic para Gerenciamento de Containers Docker

Comando: journalctl - Monitoramento de LOGs

Instalação do Fail2Ban no CentOS 7

Leitura recomendada

Linguagem Lua - Introdução ao Aprendizado da Linguagem

Criando um banner em flash no Linux

Discar BrasilTelecom com PPPOE no Ubuntu 6.10

Introdução ao Shell Script - Baseado no livro de Ken O. Burtch

Introduzindo um pouco mais a fundo o shell script (revisado)

  
Comentários
[1] Comentário enviado por fabio em 15/02/2016 - 17:21h

Meus parabéns pelo ótimo trabalho!

[2] Comentário enviado por renizgo em 15/02/2016 - 18:10h


[1] Comentário enviado por fabio em 15/02/2016 - 17:21h

Meus parabéns pelo ótimo trabalho!


Obrigado, espero ter ajudado!

[3] Comentário enviado por azk em 16/02/2016 - 00:27h

Simples, objetivo e bem exemplificado.
Uma ótima contribuição.
congratz bro!

[4] Comentário enviado por GabrielSilva em 16/02/2016 - 11:38h

Muito bom o seu tutorial. Obrigado pela ajuda!

[5] Comentário enviado por Freud_Tux em 16/02/2016 - 18:25h

Parabéns!

T+

[6] Comentário enviado por wagnerfs em 16/02/2016 - 22:08h

Parabéns pelo artigo! Vai ser de grande ajuda para àqueles que estão começando no mundo do Shell Script.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782

[7] Comentário enviado por renizgo em 16/02/2016 - 23:16h


[6] Comentário enviado por K666 em 16/02/2016 - 22:08h

Parabéns pelo artigo! Vai ser de grande ajuda para àqueles que estão começando no mundo do Shell Script.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782


Sim com certeza, obrigado pelo comentário.

[8] Comentário enviado por renizgo em 16/02/2016 - 23:25h


[3] Comentário enviado por azk4n em 16/02/2016 - 00:27h

Simples, objetivo e bem exemplificado.
Uma ótima contribuição.
congratz bro!


Opa obrigado pelo comentário!!!

[9] Comentário enviado por dk.d4rk0 em 17/02/2016 - 02:00h

Parabéns pelo artigo!

[10] Comentário enviado por renizgo em 17/02/2016 - 21:42h


[9] Comentário enviado por dk.d4rk0 em 17/02/2016 - 02:00h

Parabéns pelo artigo!


Valeu!!!!

[11] Comentário enviado por mlmlightman7 em 18/02/2016 - 03:09h

Cara, perfeito. Muito bom mesmo. Parabéns !!!

[12] Comentário enviado por BRKsCosta em 19/02/2016 - 10:47h

Eu fiz exatamente o que está lá, mas quando vou executar o arquivo não dá :/. Mas desde já meus parabéns. Estou usando o editor nano.

[13] Comentário enviado por xerxeslins em 23/02/2016 - 10:44h

Parabéns! Artigo favoritado. Abraço!
--
https://goo.gl/uu8OUX

[14] Comentário enviado por removido em 23/02/2016 - 12:41h

Parabéns cara! Vou favoritar o artigo pq é realmente muito bom! O artigo está claro, com uma excelente organização e com uma didática que não deixa dúvidas!

Continue com o trabalho. Valeu!

[15] Comentário enviado por renizgo em 23/02/2016 - 16:54h


[12] Comentário enviado por BRKsCosta em 19/02/2016 - 10:47h

Eu fiz exatamente o que está lá, mas quando vou executar o arquivo não dá :/. Mas desde já meus parabéns. Estou usando o editor nano.


É tranquilo, o que aparece para ti?

Basicamente você cria o arquivo com o nano no seu caso, depois pelo terminal você dá permissão de execução a ele # chmod +x seuscript, depois executa ele com # ./seuscript.

Vai dar certo!!!

[16] Comentário enviado por renizgo em 23/02/2016 - 16:55h


[14] Comentário enviado por Degomes em 23/02/2016 - 12:41h

Parabéns cara! Vou favoritar o artigo pq é realmente muito bom! O artigo está claro, com uma excelente organização e com uma didática que não deixa dúvidas!

Continue com o trabalho. Valeu!


Obrigado, que bom que conseguir ajudar!!!

[17] Comentário enviado por albfneto em 27/02/2016 - 15:17h

é muito bom. Favoritado.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts