Shell Scripting – Introdução e Conceitos Básicos – 01 – Linux

Introdução ao Shell Scripting e Conceitos Básicos

O Shell Scripting é uma ferramenta extremamente útil para automatizar tarefas e simplificar o gerenciamento de sistemas no Linux.

Um script é, basicamente, um conjunto de comandos organizados em um arquivo que podem ser executados de uma vez só, como se fossem uma espécie de lista de instruções para o sistema seguir.

Com sripts, podemos automatizar tarefas repetitivas, processar dados e criar ferramentas complexas para facilitar o trabalho no dia a dia.

Mas o que é exatamente um script? Vejamos.

O que é um Script?

Script é um arquivo de texto com comandos do terminal organizados em uma sequência lógica. Em vez de executar um comando de cada vez, podemos colocar todos os comandos desejados em um arquivo e pedir ao sistema para executá-los na ordem em que aparecem.

Isso é útil para qualquer tarefa que envolva uma série de passos repetitivos ou para construir ferramentas que outros possam usar.

Para que Serve um Script?

Os scripts do terminal são usados para simplificar a vida de quem trabalha com sistemas Linux. Algumas das principais aplicações que posso citar incluem:

  • Automatizar tarefas: Realizar backup de arquivos, configuração de sistemas, criação de diretórios.
  • Gerenciamento de sistema: Processar e organizar logs, gerenciar usuários e permissões.
  • Ferramentas personalizadas: Criar pequenas utilidades que facilitam tarefas do dia a dia.
  • Manipulação de dados: Processar arquivos de texto e dados de logs de maneira rápida.

O que é o Bash?

O Shell Bash é um interpretador de comandos usado em sistemas Unix, como o Linux, para interagir com o sistema operacional. Ele permite que os usuários executem comandos e scripts, facilitando a automação de tarefas e o gerenciamento do sistema.

Seu nome é uma abreviação de “Bourne Again Shell,” é uma evolução de um shell mais antigo de nome Shell Bourne e traz recursos adicionais, como por exemplo a manipulação de variáveis, estruturas de controle (como loops e condicionais) e diversos outros comandos internos.

Vejamos agora como criar um script para o shell bash.

Como criar um Script do Shell

Criar um script no Linux é muito simples. Vejamos passos básicos para criar e executar um script inicial.

1. Criar o Arquivo do Script

No terminal, criamos um arquivo de texto usando o editor preferido. Neste exemplo, usarei o nano:

$ nano meu_script.sh

O nome do arquivo pode ser qualquer um, mas usamos a extensão .sh para indicar que se trata de um script de shell.

2. Adicionar a string shebang (Linha #!)

A primeira linha de um script Bash geralmente é o que chamamos de shebang, que indica ao sistema qual interpretador usar para executar o script. No caso de um script Bash, o shebang é:

#!/bin/bash 

Coloque isso na primeira linha do arquivo para garantir que o script seja interpretado corretamente. Lembre-se que essa linha informa ao sistema que ele deve usar o Bash (localizado no caminho /bin/bash) para interpretar o script.

3. Escrever os comandos no script

Depois do shebang, podemos adicionar comandos como se estivéssemos digitando no terminal. Por exemplo:

#!/bin/bash
echo "Olá pessoal, aqui é o Fábio da Bóson Treinamentos!"

Este script simples irá mostrar a mensagem “Olá pessoal, aqui é o Fábio da Bóson Treinamentos!” no terminal, quando for executado.

4. Salvar e fechar o Arquivo

No nano, pressionamos Ctrl + O + Enter para salvar e Ctrl + X para sair do editor.

Tornar o Script Executável

Para rodar um script, ele precisa ter permissão de execução. No terminal, usamos o comando chmod +x para definir a permissão correta:

$ chmod +x meu_script.sh

Visualize a permissão de execução (x) com ls -l:

$ ls -l meu_script.sh

Agora, o arquivo pode ser executado como se fosse um programa.

Executando o Script

Depois de tornar o script executável, existem duas maneiras principais de executá-lo:

1. Usando o caminho relativo ou absoluto:

$ ./meu_script.sh

Esse comando executa o script no diretório atual.

2. Ou usando o Bash diretamente:

$ bash meu_script.sh

Essa segunda opção executa o script sem precisar definir a permissão de execução (útil para scripts rápidos ou temporários).

Vamos agora incrementar um pouco mais nosso script de iniciante.

Comandos Básicos para Iniciar no Shell Scripting

Vamos incrementar nossos scripts usando alguns comandos básicos do Linux que são comumente usados e que podemos incluir logo no começo, como por exemplo:

  • echo: Exibir uma mensagem no terminal.
  • pwd: Mostra o diretório atual.
  • ls: Lista arquivos e diretórios.

Além disso, podemos usar o caractere # para inserir comentários no script, pois as linhas que começam com esse caractere são ignoradas pelo Bash e servem para anotações.

Vamos a um exemplo prático agora.

Exemplo Prático

Criaremos um pequeno script que exibe uma mensagem de boas-vindas e lista os arquivos do diretório atual. Seu código é o seguinte:

#!/bin/bash
# Esse é um script de exemplo
echo "Bem-vindo ao seu diretório atual!"
echo "Aqui estão seus arquivos:"
ls

Para tal seguiremos os seguintes passos

  1. Crie um arquivo chamado boas_vindas.sh.
  2. Adicione o conteúdo acima no arquivo.
  3. Salve, feche e torne-o executável com chmod +x boas_vindas.sh.
  4. Execute o script com ./boas_vindas.sh.

Esse script vai mostrar uma mensagem e, em seguida, listar todos os arquivos do diretório.

Excelente! Vamos fazer alguns exercícios agora para fixar melhor esses conceitos aprendidos.

Exercícios sobre Shell Scripting

  1. Crie um script chamado chuva.sh que exiba a frase “Hoje vai chover!” ao ser executado. Execute o script para testar.
  2. Modifique o script para exibir uma mensagem personalizada com seu nome. Teste-o novamente.
  3. Crie um script que exiba o caminho do diretório atual e liste todos os arquivos nele contidos, com detalhes. Dê o nome que quiser ao script.
  4. Escreva um script que exiba a data e a hora atuais usando o comando date.

Resolução dos Exercícios

1. Script chuva.sh:

#!/bin/bash
echo "Hoje vai chover!"

2. Modificação para exibir uma mensagem personalizada:

#!/bin/bash
echo "Olá, [Seu Nome]!"

3. Script que exibe o caminho do diretório e lista arquivos:

#!/bin/bash
echo "Diretório atual: $(pwd)"
echo "Arquivos:"
ls -l

4. Script que exibe a data e a hora:

#!/bin/bash
echo "Data e hora atuais: $(date)"

ou ainda:

echo "Data atual: $(date +"%d/%m/%Y")"
echo "Hora atual: $(date +"%H:%M")"

Conclusão

Com esse tutorial básico, já é possível criar scripts bem simples e começar a entender a aplicação do Shell Scripting.

Nas próximas lições vamos nos aprofundar em tópicos de programação do shell mais complexos, como o emprego de outros comandos, variáveis, loops e muito mais.

Enquanto isso aproveite para assistir a um vídeo introdutório sobre Shell Scripting do canal da Bóson Treinamentos no YouTube:

Sobre Fábio dos Reis (1221 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

2 Comentários em Shell Scripting – Introdução e Conceitos Básicos – 01 – Linux

  1. Marcos Felipe da silva // 10/02/2014 em 6:51 // Responder

    Ola bom dia , primeiro agradecer pelo espaço de conhecimento disponibilizado e gratuito 😉 , agora gostaria de perguntar se tem a possibilidade de você enviar essa parte texto das suas vídeo aulas de Shell scripts ,sabe essa apresentações tipo slides , fica um pouco mais fácil lendo elas também . Obrigado pelos videos também 🙂

  2. Regis Barbosa // 07/09/2017 em 9:04 // Responder

    Bom dia, meu caro! Adoro suas aulas e acompanho seu canal há uns quatro meses. Gostaria de saber se esse material de apresentação está disponível em algum lugar aqui do site. Acredito que foi uma promessa feita em alguma dessas aulas (possivelmente depois da aula 11). Forte abraço, Fábio! Siga forte na luta!

Escreva um comentário

Seu e-mail não será divulgado


*