Programacao do Shell: mudanças entre as edições
Linha 52: | Linha 52: | ||
*'$#' retorna o número de argumentos; | *'$#' retorna o número de argumentos; | ||
*'$*' retorna todos os argumentos. | *'$*' retorna todos os argumentos. | ||
Exemplo: | |||
#!/bin/bash | |||
#Este script verifica se há dois argumentos | |||
#e realiza a soma dos mesmos | |||
if [ $# -eq 2 ] | |||
then | |||
soma=`expr $1 + $2` | |||
echo "Soma = $soma" | |||
else | |||
echo "Usar 2 argumentos" | |||
fi | |||
==Referências== | ==Referências== |
Edição das 16h56min de 4 de novembro de 2015
Programação do Shell
A programação do Shell permite que o administrador crie pequenos programas para automatizar a administração do sistema, como por exemplo, uma sequência de comandos para realizar backup de dados.
Um programa Shell, ou script shell, é criado em um arquivo de texto contendo comandos do Linux, e pode incluir variáveis, realização de testes, laços de repetição, comentários, etc.
Um programa Shell é interpretado linha a linha pelo Shell, portanto, não é um programa a ser compilado [1].
Comandos básicos
Um script shell inicia com a definição de qual será o Shell interpretador do comando, por exemplo:
#!/bin/bash
Como todo programa, recomenda-se a inclusão de comentários para descrever a função do script e facilitar sua compreensão. Todo comentário inicia com o caractere #, com exceção da linha de definição do Shell interpretador.
Exemplo de script que imprime uma frase [1]:
#!/bin/bash #Este script imprime uma frase echo "Alo $USER, bom dia!"
- No exemplo é utilizada a variável $USER que retorna o nome do usuário.
O script deve ser salvo em um arquivo com a extensão .sh (exemplo: alo.sh) e deve ter permissão de execução:
chmod +x alo.sh
Para executá-lo, chamar pelo nome do arquivo, por exemplo:
./alo.sh
Variáveis e argumentos
O Shell possui várias variáveis pré-definidas, como por exemplo $USER, $HOME, $SHELL, $PATH, etc.
Uma lista das variáveis disponíveis no Shell pode ser obtida com o comando:
printenv
O script abaixo mostra um exemplo de criação de variáveis e uso das mesmas no programa:
#!/bin/bash #Este script cria variáveis var_string="Esta é uma variável string" var1=10 #Esta é uma variável numérica var2=20 echo $var_string echo $var1, $var2
- Variáveis passadas como argumentos
- Um script pode manipular variáveis que recebem valor de argumentos passados quando o script é chamado.
- Internamente ao script, as seguintes variáveis são utilizadas:
- '$0' retorna o nome do script;
- '$1 a $9' retorna valor dos argumentos passados na chamada do script;
- '$#' retorna o número de argumentos;
- '$*' retorna todos os argumentos.
Exemplo:
#!/bin/bash #Este script verifica se há dois argumentos #e realiza a soma dos mesmos if [ $# -eq 2 ] then soma=`expr $1 + $2` echo "Soma = $soma" else echo "Usar 2 argumentos" fi
Referências
--Evandro.cantu (discussão) 10h23min de 4 de novembro de 2015 (BRST)