Primeiros Passos com Shell Script

Added by Jan Luc Tavares about 4 years ago

Você que já está com uma certa familiaridade com a linha de comando e quer automatizar algumas tarefas, simplificar e construir funções certamente tem interesse em começar a escrever scripts shell. Os scripts são basicamente uma lista com comandos que escrevemos em ordem para realizar certa tarefa. Eles nos ajudam, por exemplo, a realizar tarefas que são exaustivas, automaticamente (afinal, é para isso que estamos usando o computador).

Mas o que é um shell script?

Expondo de forma simples, dizemos que esse tal shell é um programa que pega os comandos que digitamos no teclado e entrega-os para o sistema operacional executá-los (isto é, um programa que chama outros programas). E um script shell é uma lista com os comandos que daríamos com o teclado já escritos, que o shell pode interpretar de uma vez só.

Vamos aprender como criar e executar um script seguindo esse breve tutorial Olá Mundo do Shell Script. Daí já podemos colocar os programas que costumamos usar na linha de comando e criar um script diferente :).

Olá Mundo do Shell Script

No terminal, crie uma pasta para colocarmos todo o material do tutorial lá dentro e não confundirmos nada. Eu estou usando o Guake, um terminal prático que no TropOS é chamado pressionando shift + F12. Você pode usar o terminal usual também, não fará diferença.

$ mkdir meu_primeiro_script
$ cd meu_primeiro_script

Use seu editor de texto favorito (emacs, gedit, vi, nano...), eu usei o nano para me manter numa interface simples em linha de comando. Crie um arquivo chamado "ola_mundo" e coloque como conteúdo

#!/bin/bash
#Meu primeiro script

echo "Ola mundo!"

Primeira imagem do tutorial

A primeira linha contém o que chamamos de shebang. Dessa forma informamos qual interpretador queremos usar. Os nossos primeiros códigos funcionariam sem essa linha, mas veremos futuramente porque ela é tão importante.
A segunda linha é um comentário. Não será lido pelo computador, escrevemos comentários para que seres humanos leiam e entendam o que está acontecendo no código. Comentários são sempre iniciados por "#".
Echo é o comando que mostra uma linha de texto.

Depois de salvar o arquivo você não pode executá-lo no terminal escrevendo

$ ./ola_mundo

Isso acontece devido ao sistema de permissões do linux. Quando você cria um texto comum ele geralmente é criado por padrão permitindo que você leia e altere o arquivo e que os outros usuários leiam o arquivo apenas.

Alterando a Permissão do Arquivo

Afinal, quem vai querer executar um texto? A não ser que ele seja um programa, que é o caso. Programas, sim, se executam. Usamos o comando chmod para alterar as permissões.

$ chmod 755 ola_mundo

O parâmetro 755 indica que você (dono do arquivo) pode ler, alterar e executar e os demais podem ler e executar apenas. Verificamos as permissões dos arquivos realizando

ls -al

Imagem mostrando permissões do arquivo

Um arquivo com as permissões que mencionei deve ter "-rwxr-xr-x" ao lado de seu nome. Assim estará indicando que o dono do arquivo pode ler (read), editar(write) e executar (execute), então rwx no início. Os demais podem somente ler e executar r-x.

Executando o Shell Script

Agora que temos a permissão para executá-lo, podemos simplesmente escrever na linha de comando

$ ./ola_mundo

Deverá aparecer "Ola mundo!" na linha de baixo.
Funcionou? Eee \O/ Até a próxima, então.
Se não funcionou, peça ajuda.

ola_shell1.png - Primeira imagem do tutorial (1.2 MB)

ola_shell2.png - Imagem mostrando permissões do arquivo (1.2 MB)

ola_shell1.jpg - Primeira imagem do tutorial (59.3 kB)

ola_shell2.jpg - Imagem mostrando permissões do arquivo (112.1 kB)


Replies (1)

RE: Primeiros Passos com Shell Script - Added by Jan Luc Tavares 4 months ago

Atribuindo o resultado de um comando à uma variável.

Muitas vezes é útil atribuir o resultado de um comando a uma variável e podemos querer usar uma variável em outro comando.

É bastante simples atribuir o resultado de um comando à uma variável, fazemos isso seguindo a sintaxe:

variavel = $( comando a ser executado )

Para usar o que consta dentro de uma variável, basta chamá-la com um "$" na frente.

Exemplo:

dia=$(date +%A)
echo "Hoje é $dia"

Se você não entendeu o código acima, pode ser por não conhecer o comando date. Uma forma de saber mais sobre ele é abrindo o terminal e digitando:

man date

O programa "man" costuma abrir um manual que explica a maioria dos programas usados. Ele será nosso amigo em muitos momentos. Especialmente quando estamos offline :) Abraço.

(1-1/1)