o ermitão renasce - a vida dentro da casca

15
Ermitão Renacido A vida na casca Luiz Guaraldo [email protected]

Upload: luiz-guaraldo

Post on 08-Jul-2015

81 views

Category:

Technology


0 download

DESCRIPTION

Grande parte da administração diária requer tempo e muita digitação, em grande parte uma sequência longa e cansativa de comandos para identificar possíveis problemas em um sistema. Automatizar essas tarefas pode ser excitante e muito prático. Esse tutorial mostra as funções básicas que o Born Again Shell (Bash) proporciona para fazer uma estrutura básica de comandos, tomadas de decisão, laços, e mais comandos, fazendo scripts totalmente automatizados e/ou scripts interativos.

TRANSCRIPT

Page 2: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 2

O poder do Bash Script

● Console texto (shell) altamente programável;● Simples de programar (não precisa ser

programador);● Ágil e prático;● Usa as funcionalidades do Sistema;● Executa qualquer ação que pode ser

executada em uma console shell.

Page 3: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 3

A porta é a necessidade

● O que precisa ser feito?● Sempre usa comandos parecidos?● É necessário decidir algo?● O que é levado em consideração para a

decisão?● São muitas ou poucas variáveis?● Precisa interação do usuário?

Page 4: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 4

Criatividade é a chave

● O que usar e quando usar.● Como pegar as variáveis?● Tomadas de decisões com as variáveis?● Laços simples?● Laços complexos?● Encadear comandos?

Page 5: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 5

Variáveis

● Entrada de variáveis:– $1, $2, $3 … $N – Argumento 1, 2, 3 … N

● Variáveis internas:– Integer/Char/String/Float/Whatever;

● Não faz nenhuma diferença

– NOME=INFORMAÇÃO

Page 6: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 6

variáveis

● Uso especial:– $?

● Verificação do status de saída do último comando

– $@● Todos os argumentos

– $#● Número de argumentos passados

Page 7: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 7

Tomada de decisão

if [TESTE]; then

comandos;

elif [TESTE]; then

comandos;

else

comandos;

fi

Page 8: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 8

Tomada de decisões

case $VAR in

teste1) comandos;;;

teste2)commandos;;;

testeN)comomandos;;;

*)commandos;;;

esac

Page 9: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 9

Laços

for variavel in 'situações'; do

comandos;

done

Page 10: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 10

Laços

while [TESTE]; do

comandos

done

while :; do # Isso é um laço infinito

comandos

done

Page 11: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 11

Direcionando saídas

● Para arquivo:– comando >> arquivo.log

– comando | tee -a arquivo.log

● Apenas erros:– comando 2> /dev/null 1> arquivo.log

Page 12: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 12

Encadeamento

● comando1 E comando2:– comando1 && comando2

● comando1 OU comando2:– comando1 || comando2

Page 13: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 13

Interatividade Gráficaou quase isso...

● Dialog – Janelas na console texto– Multiplas formas de tomar informações do

operador em consoles não gráficas.

● Zenity – Gnome– Interatividade através do X.org, também com

diversas formas de tomar informações.

Page 14: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 14

Para saber mais

● Advanced Bash-Scripting Guide– http://tldp.org/LDP/abs/html/

● Google é seu amigo...– Pergunte ao oráculo...

Page 15: O Ermitão Renasce - A vida dentro da casca

13/03/13 15:37 TcheLinux Porto Alegre 2012 15

Sobre o palestrante

● Site:– http://www.universolivre.com.br

● Email:– [email protected]

● Gtalk e Google+:– [email protected]