Você está na página 1de 2

Programação em Shell

Sempre que emite um comando Unix está a usar a Shell que


interpreta o seu comando. Para aumentar a produtividade usa-se a
programação em Shell quando:
• Se pretendem tratar da mesma forma muitos ficheiros.
• Se quer repetir a mesma tarefa frequentemente.

As variaveis em Unix

Para definir uma variável x:


x = teste

Para aceder à variável:


echo $x --> teste

Se fizer echo x o sistema responderia x porque, neste caso, x é


interpretado como string e não como variável.

As aspas em Unix

Existem três tipos diferentes de aspas em Unix:

as aspas simples '


as aspas duplas “
as aspas inversas ` (acento grave)

A estes três tipos correspondem diferentes funcionalidades:


O que figurar entre aspas fixas é tratado como um literal, não
sofrendo qualquer tratamento,
No caso das aspas duplas, se entre as aspas estiver uma variável,
será apresentado o conteúdo da variável.
Finalmente, no caso das aspas inversas, se definirmos uma
variável cujo conteúdo seja um comando, será devolvido o resultado
da execução do comando.

Exemplo.
Se definirmos uma variável x:
x = who

Vamos construir um script de shell com o seguinte conteúdo:

echo '$x'
echo “$x”
echo `$x`

Depois de gravado e mudadas as permissões para que o ficheiro seja


executavel, da sua execução resultaria:
$x
who
lista dos utilizadores ligados

Para que um script de shell funcione é necessário, para além da


correcção sintática dos comandos que o compõem, que o ficheiro
seja executavel.

Exemplo:
Criação de um script que efectue uma cópia de segurança de todas
as áreas de trabalho dos utilizadores, recorrendo para o efeito ao
comando tar. Cada ficheiro deverá ser gravado com um nome onde
esteja incluído o ano, mês e dia em que foi criado.

O ficheiro de script a que podemos chamar seguro vai ser criadocom


um editor de texto e teria o seguinte conteúdo:

ficheiro = backup_`date +%Y_%m_%d`.tar


tar -cvf $ficheiro /home/

Depois de gravado a protecção do ficheiro deve ser verificada e


caso seja necessário alterada usando o comando chmod para que seja
executavel.

A primeira linha do script cria uma variável ficheiro cujo


conteúdo (em 31 Dezembro de 2007) seria:
backup_2007_12_31.tar
A segunda linha executa o comando tar para criar o ficheiro com o
nome definido e que inclui a directoria /home e todas as suas sub-
directorias e ficheiros.