jukilo Ranking
Mensagens : 624 Data de inscrição : 01/03/2008
| Assunto: Programando em Shell Script <2> Dom Jun 15, 2008 4:22 pm | |
| Continuaçao da 1 parte. Link: http://www.forum-hacker.com.br/forum...ead.php?t=7017
Bom Estudo.
Controles de Fluxo Controles de fluxo são comandos que vão testando algumas alternativas e de acordo com essas alternativas, vão executando comandos. Vamos ver aqui cada um deles!
Controle de fluxo com o if
Um dos comandos de controle de fluxo mais usados é certamente o if, que é baseado na lógica "se acontecer isso, irei fazer isso. Se não, irei fazer aquilo". Vamos dar um exemplo: Código:
#!/bin/bash if [ -e $linux ] then echo 'A variável $linux existe.' else echo 'A variável $linux não existe.' fi
O que este pedaço de código faz? O if testa a seguinte expressão: Se a variável $linux existir, então (then) ele diz que que existe com o echo, se não (else), ele diz que não existe. O operador -e que usei é pré-definido e você pode encontrar a listagem dos operadores na tabela: Código:
Operador - Descriçao: -eq Igual != Diferente -gt Maior -lt Menor -o "Ou" -d Se for um diretório -e Se existir -z Se estiver vazio -f Se contiver texto -O Se o usuário for o dono -r Se o arquivo pode ser lido -w Se o arquivo pode ser alterado -x Se o arquivo pode ser executado
Operadores de fluxo do bash
Vamos para alguns exemplos, assim entendemos melhor o uso:
Código:
#!/bin/bash if [ -z $naoexisto ] then echo 'A variável $naoexisto realmente não existe! Incrível.' echo -n 'Criando... ' naoexisto="agoraeuexisto" echo 'feito.' else echo 'Oops! Não era pra você existir!' fi
Código:
#!/bin/bash a=1 b=2
if [ $a -lt $b ] then echo '$a é menor que $b!' elif [ $a -gt $b ] then echo '$a é maior que $b!' elif [ $a -eq $b ] then echo '$a é igual a $b!' fi
Código:
#!/bin/bash if [ -d "/etc" ] then echo '/etc existe e é um diretório!' if [ -f "/etc/passwd" ] then echo '/etc/passwd existe e é um arquivo!' fi else echo '/etc não existe ' fi
Note nos exemplos acima que citamos um "comando" não visto antes: o elif, que é uma combinação de else e if. Ao invés de fechar o if para criar outro, usamos o elif para testar uma expressão no mesmo comando if.
Outros comandos divertidos para se usar
Existem inúmeros comandos no Linux e para explicar todos, teríamos de publicar um verdadeiro livro. Você pode usar livremente qualquer comando texto disponível no seu Linux. Também se quiser, há muitas descrições na página de manual do bash, que pode ser acessada com o comando man bash.
Na tabela a seguir, você pode encontrar uma listagem de comandos para usar em sua shell script:
echo
Código:
Imprime um certo texto na tela, ou aonde você indicar (através de um redirecionador, veja em Seção 3.3.1.10, “cat - Exibe o conteúdo de um arquivo ou direciona-o para outro” para mais informações sobre redirecionadores.
read Código:
Captura dados do usuário e coloca numa variável. O primeiro parâmetro passado é a variável. (Exemplo: read variavel)
exit
Código:
Finaliza o script. Caso seja passado algum numero depois, ele retorna esse número como a saída do comando. Este método geralmente serve para indicar se o comando foi bem sucedido ou não. (Exemplo: exit 1)
sleep
Código:
Dá uma parada em segundos no script, sendo os segundos o primeiro argumento. (Exemplo: sleep 15 faz o script parar por 15 segundos)
clear
Código:
Limpa a tela.
stty
Código:
Configura o terminal temporariamente. Útil por exemplo para não aparecer o que o usuário digita na hora de escrever uma senha. (Exemplo: stty -echo e stty echo)
tput
Código:
Altera o modo de exibição, como por exemplo as quantidades padrões de colunas de caracteres do terminal.
E assim seja, crie seus próprios scripts e facilite de uma vez só parte de sua vida no Linux! | |
|