Shell Script: Meu Primeiro Programa Linux

Linux

Jornada Shell Script: Parte 3 Meu Primeiro Programa e Padrões

Tema Central: Primeiro programa em Shell Script, padrões e boas práticas para montagem de um bash

Versão 1

Emissão: 20 de julho de 2022

Validade: Indeterminada

Objetivo

Primeiramente, nosso objetivo neste artigo é capacitar à quem for de interesse na criação do seu primeiro programa em Shell Script em Linux. Para tanto, iremos usar de padrões e boas práticas recomendadas para uma melhor compreensão e controle do seu script, deixando assim seu legado com um trabalho profissional e diferenciado.

Pré-Requisitos

Antes de iniciar este artigo, precisamos então estar alinhados com os conhecimentos expostos nos passos anteriores desta Jornada.

Na primeira parte da Jornada Shell Script falamos antes de mais nada sobre os comandos essenciais de um sistema operacional Linux. Desse modo, temos neste artigo referência única de praticamente todos os comandos que usaremos até o final dessa jornada.

Em seguida, na parte 2 da Jornada Shell Script vimos muito sobre variáveis de ambiente, file globbing e Expressões regulares além dos principais comandos do editor de texto vi no Linux.

Assim, vamos precisar de uma máquina Linux para montagem do nosso script conforme será apresentado neste artigo. Desse modo, usaremos o Debian como distribuição base.

Padrões do Programa Shell Script

Nome do Programa Shell Script

O uso de um padrão para nome de um programa em Shell Script não é obrigatório, no entanto, é uma boa prática definir com clareza qual é o padrão dos seus scripts para facilitar a identificação destes por qualquer um que deseje ou precise acessá-lo.

Sendo assim, seguem alguns exemplos de Padrões de Nome do Programa:

  • Primeira Letra Maiúscula: MeuPrimeiroScript.sh
  • Tudo minúsculo com uso de Underline: meu_primeiro_script.sh

Evite uso de caracteres especiais e espaços. Isso poderá fazer diferença para você na hora de debugar um problema ou achar um script.

Uma recomendação é que o nome do script carregue consigo “sua razão de existir”. É importante que ao “bater o olho” no script, o administrador saiba o que ele vai executar. Por exemplo: BackupBancoDeDados.sh

Extensão do Programa Shell Script

O uso da extensão “.sh” é opcional, no entanto, é padrão para programas em Shell Script. O administrador conseguirá executar o programa tendo a extensão ou não, porém é mais uma boa prática manter a extensão.

Preparando o ambiente Linux

Antes de iniciar a montagem do nosso primeiro programa vamos criar nossa estrutura de diretórios.

Acesse o servidor Linux via ssh ou console. Se o seu usuário não tiver definido para acessar o bash por padrão conforme falamos na sessão “Identificando sua Interface de Comando“, entre com o comando bash. Agora, verifique se você está na pasta home do seu usuário com o comando “pwd”.

É esperado que o resultado seja similar a este:

myuser@DEVOPS:~$ pwd
/home/myuser
myuser@DEVOPS:~$

obs: Se você tiver dúvidas de como acessar sua pasta home retorne ao artigo 1 desta Jornada

Agora vamos criar nossa estrutura de diretórios para podermos trabalhar nossos programas:

myuser@DEVOPS:~$ mkdir -p ~/RunbookBR/Scripts #Cria o diretorio RunbookBR e o subdiretorio Scripts
myuser@DEVOPS:~$ cd ~/RunbookBR/Scripts/ #Entra no diretorio Scripts
myuser@DEVOPS:~/RunbookBR/Scripts$

Criando Meu Primeiro Programa em Shell Script

Agora que já definimos nosso padrão de uso, e criamos nossa estrutura de pastas, vamos criar nosso primeiro programa em Shell Script.

Para isso vamos usar nosso editor de texto vi no Linux

myuser@DEVOPS:~/RunbookBR/Scripts$ vi MeuPrimeiroScript.sh

Linux Shebang #!/bin/bash

A primeira informação que devemos incluir nosso script é o interpretador que será utilizado para nossa rotina. Conforme falamos no início da Jornada, iremos adotar o bash como interpretador Linux padrão.

Desse modo, entraremos com a seguinte sintaxe na primeira linha do nosso script Shell: “#!/bin/bash”

#!/bin/bash
~                                                                                                            
~                                                                                                            
"MeuPrimeiroScript.sh" 0 lines, 0 characters

Cabeçalho do programa Shell

Outra boa prática na criação de códigos de maneira geral é adicionar informações no cabeçalho do programa.

Nos meus scripts eu sigo alguns padrões. Também vejo muitos padrões no mercado seguindo aproximadamente o mesmo formato, então fica abaixo um modelo para que você possa adequar.

#!/bin/bash
################################
# Programa: MeuPrimeiroScript.sh - Execucao do Meu Primeiro Script
# Desenvolvido por: RunbookBR ([email protected])
# Data de Criacao: 08/09/2020 
# Versao: 1.0.0
# Comentario: Versão inicial do Primeiro Programa criado para treinamento de Shell Script
########
# Edicao
# Editado por: RunbookBR ([email protected])
# Data de Edicao: 08/10/2020 
# Versao: 1.0.1
# Comentario: Corrigida ortografia no texto de saida para o usuario 
################################
~
--No lines in buffer--                                                                                                           

Perceba no código acima alguns pontos:

  • Nenhuma linha adicionada no programa até agora será executada, uma vez que possui uma cerquilha no início. Ou seja, no shell chamamos de comentário, indicando ao bash que são apenas referencias textuais para o programador e não serão executados como código.
  • Iniciamos nosso cabeçalho com o nome do programa e a sua finalidade.
  • Depois adicionamos o autor do código. A referência de quem desenvolveu o script é muito importante. Além do profissional que gerou a rotina ter os devidos créditos, em uma necessidade de tirar potenciais dúvidas com relação ao código, fica fácil, ao referenciar o autor, buscar o administrador responsável uma vez que este esta devidamente identificado.
  • Data de criação: Referencia importante para criação do programa. Veremos na sequência que também vamos adicionar as datas de edições do programa, tornando potenciais necessidades de troubleshooting mais simples a medida que podemos, por exemplo, identificar se uma alteração recente no código gerou um efeito não esperado no programa.
  • Versão: Do mesmo modo que a data, é importante versionar nosso programa e suas alterações
  • Comentário: Detalhamos o programa ou as alterações realizadas.

Declaração de Variáveis

Você verá em muitas bibliografias sobre programação que a declaração de variáveis em um programa é normalmente feito no início do código. Essa boa prática também poderá ser seguida no nosso código Shell Script.

Quando queremos fazer o reaproveitamento do código, se torna muito mais simples buscar referências das variáveis do programa quando elas se encontram no início do código do que se tivéssemos que procurar todo nosso código-fonte em busca das variáveis do programa.

Seguindo nosso padrão ficaria assim:

#!/bin/bash
################################
# Programa: MeuPrimeiroScript.sh - Execucao do Meu Primeiro Script
# Desenvolvido por: RunbookBR ([email protected])
# Data de Criacao: 08/09/2020 
# Versao: 1.0.0
# Comentario: Versão inicial do Primeiro Programa criado para treinamento de Shell Script
########
# Edicao
# Editado por: RunbookBR ([email protected])
# Data de Edicao: 08/10/2020 
# Versao: 1.0.1
# Comentario: Corrigida ortografia no texto de saida para o usuario 
################################
# VARIAVEIS DO PROGRAMA
DATA=$(date +%d/%m/%Y) #Data no formato DIA/MES/ANO
MSGM_OUTPUT="MEU PRIMEIRO PROGRAMA SHELL"
~
~
--No lines in buffer--                                   

Dessa vez introduzimos ao código:

  • Um comentário sinalizando que vamos indicar as variáveis que serão usadas no nosso programa Shell Script.
  • A variável DATA que receberá a data atual no padrão brasileiro.
  • Uma variável de saída de mensagem que será exibida no nosso programa conforme veremos a seguir.

Código do Programa

Por fim, aqui é onde entraremos com os códigos de comandos propriamente dito. É nessa etapa em que as coisas de fato vão acontecer. Então é aqui que usamos nossos comandos essenciais do Linux para fazer toda nossa rotina através do shell script. Assim, no nosso exemplo vamos dar um comando simples de Boas-vindas ao nosso primeiro programa shell.

#!/bin/bash
################################
# Programa: MeuPrimeiroScript.sh
# Desenvolvido por: RunbookBR ([email protected])
# Data de Criacao: 08/09/2020
# Versao: 1.0.0
# Comentario: Versão inicial do Primeiro Programa criado para treinamento de Shell Script
########
# Edicao
# Editado por: RunbookBR ([email protected])
# Data de Criacao: 08/10/2020
# Versao: 1.0.1
# Comentario: Corrigida ortografia no texto de saida para o usuario
###############################

# VARIAVEIS DO PROGRAMA
DATA=$(date +%d/%m/%Y) #Data no formato DIA/MES/ANO
MSGM_OUTPUT="MEU PRIMEIRO PROGRAMA SHELL"

# INICIO DO PROGRAMA
clear #Limpa a tela do bash
echo "
##############################
Ola DevOps!
Bem vindo ao:
$MSGM_OUTPUT
##############################
"

Por fim, incluímos no nosso código:

  • Um comentário sinalizando o início do nosso programa Shell Script.
  • O comando para limpar a tela do usuário que está executando o programa
  • Um comando para escrever uma mensagem na tela, sendo que, parte dessa mensagem possui uma variável definida no passo anterior. O texto adicionado à variável será parte da mensagem exibida no output do programa.
    Importante observar aqui, também, que as aspas protegem o início e o fim do texto incorporado no comando echo. Em caso de dúvidas de como usar as aspas retorno a sessão: “Exemplos de Comandos com os Principais Parâmetros REGEX

Permissões de Execução, o ajuste final

Com nosso primeiro código já preparado, vamos fazer um último acerto antes de testar seu funcionamento.

Ainda no diretório do script execute o comando para conceder permissão de execução para o script criado:

myuser@DEVOPS:~/RunbookBR/Scripts$ chmod +x MeuPrimeiroScript.sh

Verifique agora que as permissões estão aplicadas para o owner, grupo e outros (iremos falar mais de permissões do Linux em artigos futuros). Por hora, consulte esta referência no site viva o linux.

myuser@DEVOPS:~/RunbookBR/Scripts$ ls -l MeuPrimeiroScript.sh 
-rwxrwxr-x 1 myuser myuser 817 Oct 31 20:10 MeuPrimeiroScript.sh

Agora vamos testar nosso programa

myuser@DEVOPS:~/RunbookBR/Scripts$ ./MeuPrimeiroScript.sh

E o resultado será

Output do Primeiro Programa Shell

Conclusão

Aprendemos no artigo de hoje como criar nosso primeiro programa em Shell Script com nosso editor de textos vi e usando algumas das melhores práticas de programação do mercado.

Uma boa estruturação de um programa em Shell Script dará base para seu reconhecimento profissional, além de facilitar o seu trabalho e de outros administradores que poderão invariavelmente acessar seus códigos para dar alguma manutenção ou implementar melhorias e correções.

Por hoje é isso, logo você estará dominando a programação em shell script, se diferenciando no mercado e conseguindo aplicar soluções de muito valor para seus clientes e negócios. Ainda temos muito conteúdo para explorar, então fique atento às próximas publicações. Até a próxima.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.