Introdução ao uso de Shell Script
Este artigo se destina aos iniciantes em sistemas Unix-like, como o GNU/Linux, que estejam interessados em aprender Shell Script.
Parte 3: Conhecimentos básicos
O uso da tralha
A tralha ou jogo da velha (#) representa, em várias linguagens de programação, um comentário, o mesmo acontece com o Shell Script. Um script em Shell é iniciado, não obrigatoriamente, com a seguinte linha:
#!/bin/SHELL_EM_USO
Para o GNU/Linux:
#!/bin/bash
A linha acima indica o caminho (path) para o interpretador que será usado no script.
As crases são usadas para dar prioridade a um comando, veja um exemplo:
$ echo "A versão do kernel do `uname -o` é `uname -r`"
Saída:
A versão do kernel deste GNU/Linux é 2.6.13
Se você tirar as crases, veja a saída:
A versão do kernel deste uname -o é uname -r
Se você deseja escrever um frase espacejada, escreva-a entre aspas.
Uma variável é representada por $ (cifrão).
Exemplo de variável:
# guarda_roupa=camiseta
# echo $guarda_roupa
Saída:
camiseta
A barra invertida (\) nega um caracter posterior, por isso é muito usada para caracteres especiais (principalmente se estes são executáveis).
Se eu quisesse imprimir o nome de uma variável e não o seu conteúdo eu faria assim:
$ echo \$guarda_roupa
Se eu digitasse sem a barra invertida antes do $, seria exibido o conteúdo da variável e não seu nome.
Depois de editar um novo script, é necessário que modifiquemos a permissão deste arquivo, senão este não poderá ser executado, veja o por quê:
$ ls -l
-rw-r--r-- 1 leo users 0 2006-05-20 13:20 codigo_fonte
$ chmod +x codigo_fonte
$ ls -l
-rwxr-xr-x 1 leo users 0 2006-05-20 13:20 codigo_fonte*
Para executar:
$ codigo_fonte
O ponto é vírgula (;) serve para separar comandos. Exemplo:
# mkdir guardaroupa;cd guardaroupa;touch camiseta;touch bermuda
Este conjunto de comandos diz:
Crie um diretório chamado "guardaroupa", entre nele e crie os arquivos "camiseta" e "bermuda" vazios.
Crase
As crases são usadas para dar prioridade a um comando, veja um exemplo:
$ echo "A versão do kernel do `uname -o` é `uname -r`"
Saída:
A versão do kernel deste GNU/Linux é 2.6.13
Se você tirar as crases, veja a saída:
A versão do kernel deste uname -o é uname -r
Aspas
Se você deseja escrever um frase espacejada, escreva-a entre aspas.
Variável
Uma variável é representada por $ (cifrão).
Exemplo de variável:
# guarda_roupa=camiseta
# echo $guarda_roupa
Saída:
camiseta
Barra invertida
A barra invertida (\) nega um caracter posterior, por isso é muito usada para caracteres especiais (principalmente se estes são executáveis).
Se eu quisesse imprimir o nome de uma variável e não o seu conteúdo eu faria assim:
$ echo \$guarda_roupa
Se eu digitasse sem a barra invertida antes do $, seria exibido o conteúdo da variável e não seu nome.
Permissão para execução de script
Depois de editar um novo script, é necessário que modifiquemos a permissão deste arquivo, senão este não poderá ser executado, veja o por quê:
$ ls -l
-rw-r--r-- 1 leo users 0 2006-05-20 13:20 codigo_fonte
$ chmod +x codigo_fonte
$ ls -l
-rwxr-xr-x 1 leo users 0 2006-05-20 13:20 codigo_fonte*
Para executar:
$ codigo_fonte
Ponto e vírgula ;
O ponto é vírgula (;) serve para separar comandos. Exemplo:
# mkdir guardaroupa;cd guardaroupa;touch camiseta;touch bermuda
Este conjunto de comandos diz:
Crie um diretório chamado "guardaroupa", entre nele e crie os arquivos "camiseta" e "bermuda" vazios.
Resta aos interessados mergulharem de cabeça e se dedicarem ao máximo no aprendizado dessa modalidade de programação.
Abraço,
Wesley Caiapó