SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
SHELL SCRIPT
Profa
Fl´avia Pereira dos Santos
Instituto Federal Sul Riograndense
Curso de Tecnologia em Desenvolvimento de Sistemas para Internet
Disciplina: Gerenciamento de Redes de Computadores
29 de Abril de 2015 1 / 43
1 Introduc¸ ˜ao
2 SHELL SCRIPT
3 Trabalhando com SHELL SCRIPT
4 Exerc´ıcios
5 Trabalhando com SHELL SCRIPT (parte 2)
6 Atividade
29 de Abril de 2015 2 / 43
Introduc¸ ˜ao Introduc¸ ˜ao
Introduc¸ ˜ao
29 de Abril de 2015 3 / 43
Introduc¸ ˜ao Introduc¸ ˜ao
Introduc¸ ˜ao
O shell ´e o ”prompt”da linha de comando do Unix e Linux, ´e o que
recebe os comandos digitados pelo usu´ario e os executa. O shell ´e a
ligac¸ ˜ao entre o usu´ario e o kernel.
29 de Abril de 2015 4 / 43
Introduc¸ ˜ao Introduc¸ ˜ao
Introduc¸ ˜ao
Para os usu´arios do Windows, ´e f´acil pensar no shell como um
MSDOS melhorado, mas o shell oferece in´umeros recurso que v˜ao
desde comandos b´asicos para navegar entre diret´orios e manipular
arquivos, ele tamb´em possui todas as estruturas de uma linguagem
de programac¸ ˜ao, como IF, FOR, WHILE, vari´aveis e func¸ ˜oes. Com
isso tamb´em ´e poss´ıvel usar o shell para fazer scripts e automatizar
tarefas.
29 de Abril de 2015 5 / 43
SHELL SCRIPT SHELL SCRIPT
SHELL SCRIPT
29 de Abril de 2015 6 / 43
SHELL SCRIPT SHELL SCRIPT
SHELL SCRIPT
Um script ´e um arquivo que guarda v´arios comandos e pode ser
executado sempre que preciso. Os comandos de um script s˜ao
exatamente os mesmos que se digita no prompt, ´e tudo shell.
29 de Abril de 2015 7 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
29 de Abril de 2015 8 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
# date
# df
# w
29 de Abril de 2015 9 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
´E melhor fazer um script chamado ”sistema”e colocar estes
comandos nele. O conte´udo do arquivo ”sistema”seria o seguinte:
#!/bin/bash
date
df
w
29 de Abril de 2015 10 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
N˜ao use o sistema como usu´ario administrador (root), saia e entre
como um usu´ario normal;
Use apenas letras min´usculas e evite acentos, s´ımbolos e espac¸o em
branco;
Salve os arquivos dentro de seu diret´orio pessoal ($HOME).
29 de Abril de 2015 11 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
Tornar o script um arquivo execut´avel. Use o seguinte comando para
que seu script seja reconhecido pelo sistema como um comando
execut´avel:
$ chmod +x sistema
29 de Abril de 2015 12 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
Se o script estiver no diret´orio corrente, chame-o com um ”./”na
frente, deste modo:
$ ./sistema
29 de Abril de 2015 13 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
O comando ”echo”serve para mostrar mensagens na tela. Altere o
arquivo sistema conforme abaixo:
#!/bin/bash
echo ”Data e Hor´ario:”
date
echo
echo ”Uso do disco:”
df
echo
echo ”Usu´arios conectados:”
w
29 de Abril de 2015 14 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
Para o script ficar mais completo, vamos colocar uma interac¸ ˜ao
m´ınima com o usu´ario, pedindo uma confirmac¸ ˜ao antes de executar
os comandos:
#!/bin/bash
echo ”Vou buscar os dados do sistema. Posso continuar? s/n”
read RESPOSTA
test ”$RESPOSTA” = ”n” && exit
echo ”Data e Hor´ario:”
date
echo
echo ”Uso do disco:”
df
echo
echo ”Usu´arios conectados:”
w
Ver pr´oximo slide
29 de Abril de 2015 15 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
O conte´udo da vari´avel ´e acessado colocando-se um cifr˜ao ”$”na
frente
O comando test ´e ´util para fazer v´arios tipos de verificac¸ ˜oes em
textos e arquivos
O operador l´ogico ”&&”, s´o executa o segundo comando caso o
primeiro tenha sido OK. O operador inverso ´e o ”ll”(pipe)
29 de Abril de 2015 16 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
Para colocar comet´arios basta iniciar a linha com um ”#”e escrever o
texto do coment´ario em seguida;
Tamb´em ´e poss´ıvel colocar coment´arios no meio da linha # como
este.
29 de Abril de 2015 17 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
As vari´aveis s˜ao a base de qualquer script. ´E dentro delas que os
dados obtidos durante a execuc¸ ˜ao do script ser˜ao armazenados.
Para definir uma vari´avel, basta usar o sinal de igual ”=”e para ver
seu valor, usa-se o ”echo”: (linha de comando)
$ VARIAVEL=”um dois tres”
$ echo $VARIAVEL
um dois tres
$ echo $VARIAVEL $VARIAVEL
um dois tres um dois tres
$
ATENC¸ ˜AO - N˜ao podem haver espac¸os ao redor do igual ”=”
29 de Abril de 2015 18 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
Ainda ´e poss´ıvel armazenar a sa´ıda de um comando dentro de uma
vari´avel. Ao inv´es de aspas, o comando deve ser colocado entre
”$(...)”, veja: (linha de comando)
$ HOJE=$(date)
$ echo ”Hoje ´e: $HOJE”
Hoje ´e: S´ab Abr 24 18:40:00 BRT
$ unset HOJE
$ echo $HOJE
$
E finalmente, o comando ”unset”apaga uma vari´avel.
29 de Abril de 2015 19 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
Diferente de outras linguagens de programac¸ ˜ao, o shell n˜ao usa os
parˆenteses para separar o comando de seus argumentos, mas sim o
espac¸o em branco. O formato de um comando ´e sempre:
COMANDO OPC¸ ˜OES PAR ˆAMETROS
O comando ”cat -n sistema”mostra o nosso script, com as linhas
numeradas
Exemplo $ cat-n sistema
29 de Abril de 2015 20 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
O ”read”´e um comando do pr´oprio shell, j´a o ”date”´e um execut´avel
do sistema. Dentro de um script, n˜ao faz diferenc¸a usar um ou outro,
pois o shell sabe como executar ambos.
H´a v´arios comandos que foram feitos para serem usados com o shell
(ver p´ag. 09).
29 de Abril de 2015 21 / 43
Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT
Trabalhando com SHELL SCRIPT
´E poss´ıvel combinar comandos, aplicando-os em sequˆencia, para
formar um comando completo. Usando o pipe ”l”´e poss´ıvel canalizar
a sa´ıda de um comando diretamente para a entrada de outro,
fazendo uma cadeia de comandos. (linha de comando)
Exemplo:
$ cat /etc/passwd l grep root l cut -c1-10
root:x:0:0
$
29 de Abril de 2015 22 / 43
Exerc´ıcios Exerc´ıcios
Exerc´ıcios
29 de Abril de 2015 23 / 43
Exerc´ıcios Exerc´ıcios
Exerc´ıcio
1 Crie um script denominado ”path”que mostre o path corrente, qual o
usu´ario que esta logado e por ´ultimo uma listagem completa do
diret´orio /home deste usu´ario.
2 Crie um script denominado ”backup”que fac¸a uma c´opia do arquivo
”path”para o diret´orio /home/bkp e logo ap´os fazer o desligamento do
seu PC ap´os 2 minutos.
3 Crie um script denominado ”cadastro”que permite criar um usu´ario
determinar sua senha e cadastras as informac¸ ˜oes pessoais deste
usu´ario.
4 Crie um script denominado ”verificacao”que mostre o tempo que o
sistema esta em uso, a vers˜ao do kernel, o uso dos discos, o estado
da mem´oria e se a rede est´a funcionando.
5 Crie um script denominado ”grupo”que mostre todos os grupos do
sistema.
29 de Abril de 2015 24 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
29 de Abril de 2015 25 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
O canivete su´ıc¸o dos comandos do shell ´e o ”test”, que consegue
fazer v´arios tipos de testes em n´umeros, textos e arquivos. Ele possui
v´arias opc¸ ˜oes para indicar que tipo de teste ser´a feito (ver p´ag. 10).
29 de Abril de 2015 26 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Assim como os comandos do sistema que possuem e opc¸ ˜oes e
parˆametros, os scripts tamb´em podem ser preparados para receber
dados via linha de comando.
Dentro do script, algumas vari´aveis especiais s˜ao definidas
automaticamente, em especial, ”$1”cont´em o primeiro argumento
recebido na linha de comando, ”$2”o segundo, e assim por diante.
29 de Abril de 2015 27 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Digite esse script abaixo com o nome de ”argumento”
#!/bin/bash
# argumentos - mostra o valor das vari´aveis especiais
echo ”O nome deste script ´e: $0”
echo ”Recebidos $# argumentos: $*”
echo ”O primeiro argumento recebido foi: $1”
echo ”O segundo argumento recebido foi: $2”
29 de Abril de 2015 28 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Ele serve para demonstrar o conte´udo de algumas vari´aveis especiais.
(linha de comando)
$ ./argumentos um dois trˆes
O nome deste script ´e: ./argumentos
Recebidos 3 argumentos: um dois trˆes
O primeiro argumento recebido foi: um
O segundo argumento recebido foi: dois
29 de Abril de 2015 29 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
O shell tamb´em sabe fazer contas. A construc¸ ˜ao usada para indicar uma
express˜ao aritm´etica ´e ”$((...))”, com dois parˆenteses. (linha de comando)
$ echo $((2*3))
6
$ echo $((2*3-2/2+3))
8
$ NUM=44
echo $((NUM*2))
88
$ NUM=$((NUM+1))
$ echo $NUM
45
29 de Abril de 2015 30 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Assim como qualquer outra linguagem de programac¸ ˜ao, o shell
tamb´em tem estruturas para se fazer condicionais e loop. As mais
usadas s˜ao if, for e while.
29 de Abril de 2015 31 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Estrutura do IF
if COMANDO
then
comandos
else
comandos
fi
29 de Abril de 2015 32 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Exemplo de IF (Salve o script com nome ”teste”)
#!/bin/bash
echo ”Digite um Numero”
read VARIAVEL
if test ”$VARIAVEL” -gt 10
then
echo ”´e maior que 10”
else
echo ”´e menor que 10”
fi
29 de Abril de 2015 33 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
H´a um atalho para o test , que ´e o comando ” [ ” Ambos s˜ao exatamente
o mesmo comando, por´em usar o ” [ ” deixa o if mais parecido com o
formato tradicional de outras linguagens (tem que ter espac¸os antes e
depois [ ])
if [ ”$VARIAVEL” -gt 10 ]
then
echo ”´e maior que 10”
else
echo ”´e menor que 10”
fi
29 de Abril de 2015 34 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Altere o script ”teste”para que ele pegue o 1 argumento.
$ ./teste 20
e maior que 10
29 de Abril de 2015 35 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Estrutura do FOR
for VAR in LISTA
do
comandos
done
29 de Abril de 2015 36 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Exemplo do FOR (Salve o script com nome ”contando”)
for numero in um dois trˆes quatro cinco
do
echo ”Contando: $numero”
done
29 de Abril de 2015 37 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Exemplo do FOR (Salve o script com nome ”passo”)
for passo in $(seq 10)
do
echo ”Numero $passo”
done
29 de Abril de 2015 38 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Estrutura do WHILE
while COMANDO
do
comandos
done
29 de Abril de 2015 39 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Exemplo do WHILE (Salve o script com o nome ”contador”)
i=0
while test $i -le 10
do
i=$((i+1))
echo ”Contando: $i”
done
29 de Abril de 2015 40 / 43
Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2)
Trabalhando com SHELL SCRIPT (parte 2)
Exemplo do WHILE (Salve o script com o nome ”loop”)
while :
do
if test -f /tmp/lock
then
echo ”Aguardando liberac¸ ˜ao do lock...”
sleep 1
else
break
fi
done
29 de Abril de 2015 41 / 43
Atividade Atividade
Exerc´ıcios
29 de Abril de 2015 42 / 43
Atividade Atividade
Outras Informac¸ ˜oes
Dicas de Shell Script
http://www.dicas-l.com.br/cantinhodoshell/
29 de Abril de 2015 43 / 43

Mais conteúdo relacionado

Mais procurados (20)

Curso shell
Curso shellCurso shell
Curso shell
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Introdução à Shellscript
Introdução à ShellscriptIntrodução à Shellscript
Introdução à Shellscript
 
Shell Script - Luz e trevas
Shell Script - Luz e trevasShell Script - Luz e trevas
Shell Script - Luz e trevas
 
Agenda em bash e dialog
Agenda em bash e dialogAgenda em bash e dialog
Agenda em bash e dialog
 
Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Stack based overflow
Stack based overflowStack based overflow
Stack based overflow
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)
 
Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7
 
PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
Shell script i
Shell script iShell script i
Shell script i
 
Lpi+102
Lpi+102Lpi+102
Lpi+102
 
Al sweigart, cap 3
Al sweigart, cap 3Al sweigart, cap 3
Al sweigart, cap 3
 
Curso De Shell Aula 1
Curso De Shell   Aula 1Curso De Shell   Aula 1
Curso De Shell Aula 1
 

Destaque

Shell Scripting
Shell ScriptingShell Scripting
Shell Scriptingdcarneir
 
Curso de Shell Script 06/11
Curso de Shell Script 06/11Curso de Shell Script 06/11
Curso de Shell Script 06/11Rodrigo Silva
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell ScriptReinaldo Lima
 
Huumeet ja ensiapu
Huumeet ja ensiapuHuumeet ja ensiapu
Huumeet ja ensiapuTaneli Yad
 
Informática do básico ao essencial autor maurício v pires -amostra
Informática do básico ao essencial   autor maurício v pires -amostraInformática do básico ao essencial   autor maurício v pires -amostra
Informática do básico ao essencial autor maurício v pires -amostraMaurício V.Pires
 
Shell script
Shell scriptShell script
Shell scriptTiago
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxoFrederico Madeira
 
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...Maurício V.Pires
 

Destaque (10)

Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
Curso de Shell Script 06/11
Curso de Shell Script 06/11Curso de Shell Script 06/11
Curso de Shell Script 06/11
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell Script
 
Huumeet ja ensiapu
Huumeet ja ensiapuHuumeet ja ensiapu
Huumeet ja ensiapu
 
Informática do básico ao essencial autor maurício v pires -amostra
Informática do básico ao essencial   autor maurício v pires -amostraInformática do básico ao essencial   autor maurício v pires -amostra
Informática do básico ao essencial autor maurício v pires -amostra
 
Shell script
Shell scriptShell script
Shell script
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Shell Script Linux
Shell Script LinuxShell Script Linux
Shell Script Linux
 
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
 

Semelhante a 12 aula - shell script-2015

01 apostila-introducao-shell
01   apostila-introducao-shell01   apostila-introducao-shell
01 apostila-introducao-shellvinicius caldeira
 
Apostila introducao-shell
Apostila introducao-shellApostila introducao-shell
Apostila introducao-shellMarcio Pereira
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bashSérgio Silva
 
Trabalhando na Linha de comando
Trabalhando na  Linha de comandoTrabalhando na  Linha de comando
Trabalhando na Linha de comandoSoftD Abreu
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandosIvan Ribeiro
 
Atividade programação script 2
Atividade programação script 2Atividade programação script 2
Atividade programação script 2Rtec Informatica
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxKalanzans
 
Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamentoIvani Nascimento
 
Introdução ao shell script no linux
Introdução ao shell script no linuxIntrodução ao shell script no linux
Introdução ao shell script no linuxPaulo Damas
 
AULA-3-LINUX-COMANDOS-BASICOS -atualizado 20MAI2014.pdf
AULA-3-LINUX-COMANDOS-BASICOS -atualizado 20MAI2014.pdfAULA-3-LINUX-COMANDOS-BASICOS -atualizado 20MAI2014.pdf
AULA-3-LINUX-COMANDOS-BASICOS -atualizado 20MAI2014.pdfTarcisioCeolinJunior
 
Manual comandos
Manual comandosManual comandos
Manual comandosPaulo Rijo
 
Guia com mais de 500 comandos do linux explicados computeiro da depressão
Guia com mais de 500 comandos do linux explicados   computeiro da depressãoGuia com mais de 500 comandos do linux explicados   computeiro da depressão
Guia com mais de 500 comandos do linux explicados computeiro da depressãoJesser Martins Medeiros
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linuxDario Nakazima
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao LinuxTzveDyor
 

Semelhante a 12 aula - shell script-2015 (20)

01 apostila-introducao-shell
01   apostila-introducao-shell01   apostila-introducao-shell
01 apostila-introducao-shell
 
Apostila introducao-shell
Apostila introducao-shellApostila introducao-shell
Apostila introducao-shell
 
Apostila introducao-shell
Apostila introducao-shellApostila introducao-shell
Apostila introducao-shell
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
Linux shell
Linux shellLinux shell
Linux shell
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
Trabalhando na Linha de comando
Trabalhando na  Linha de comandoTrabalhando na  Linha de comando
Trabalhando na Linha de comando
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandos
 
Atividade programação script 2
Atividade programação script 2Atividade programação script 2
Atividade programação script 2
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linux
 
Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamento
 
Introdução ao shell script no linux
Introdução ao shell script no linuxIntrodução ao shell script no linux
Introdução ao shell script no linux
 
Shell script
Shell script Shell script
Shell script
 
AULA-3-LINUX-COMANDOS-BASICOS -atualizado 20MAI2014.pdf
AULA-3-LINUX-COMANDOS-BASICOS -atualizado 20MAI2014.pdfAULA-3-LINUX-COMANDOS-BASICOS -atualizado 20MAI2014.pdf
AULA-3-LINUX-COMANDOS-BASICOS -atualizado 20MAI2014.pdf
 
Manual comandos
Manual comandosManual comandos
Manual comandos
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Guia com mais de 500 comandos do linux explicados computeiro da depressão
Guia com mais de 500 comandos do linux explicados   computeiro da depressãoGuia com mais de 500 comandos do linux explicados   computeiro da depressão
Guia com mais de 500 comandos do linux explicados computeiro da depressão
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linux
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 

Último

Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 

Último (20)

Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 

12 aula - shell script-2015

  • 1. SHELL SCRIPT Profa Fl´avia Pereira dos Santos Instituto Federal Sul Riograndense Curso de Tecnologia em Desenvolvimento de Sistemas para Internet Disciplina: Gerenciamento de Redes de Computadores 29 de Abril de 2015 1 / 43
  • 2. 1 Introduc¸ ˜ao 2 SHELL SCRIPT 3 Trabalhando com SHELL SCRIPT 4 Exerc´ıcios 5 Trabalhando com SHELL SCRIPT (parte 2) 6 Atividade 29 de Abril de 2015 2 / 43
  • 3. Introduc¸ ˜ao Introduc¸ ˜ao Introduc¸ ˜ao 29 de Abril de 2015 3 / 43
  • 4. Introduc¸ ˜ao Introduc¸ ˜ao Introduc¸ ˜ao O shell ´e o ”prompt”da linha de comando do Unix e Linux, ´e o que recebe os comandos digitados pelo usu´ario e os executa. O shell ´e a ligac¸ ˜ao entre o usu´ario e o kernel. 29 de Abril de 2015 4 / 43
  • 5. Introduc¸ ˜ao Introduc¸ ˜ao Introduc¸ ˜ao Para os usu´arios do Windows, ´e f´acil pensar no shell como um MSDOS melhorado, mas o shell oferece in´umeros recurso que v˜ao desde comandos b´asicos para navegar entre diret´orios e manipular arquivos, ele tamb´em possui todas as estruturas de uma linguagem de programac¸ ˜ao, como IF, FOR, WHILE, vari´aveis e func¸ ˜oes. Com isso tamb´em ´e poss´ıvel usar o shell para fazer scripts e automatizar tarefas. 29 de Abril de 2015 5 / 43
  • 6. SHELL SCRIPT SHELL SCRIPT SHELL SCRIPT 29 de Abril de 2015 6 / 43
  • 7. SHELL SCRIPT SHELL SCRIPT SHELL SCRIPT Um script ´e um arquivo que guarda v´arios comandos e pode ser executado sempre que preciso. Os comandos de um script s˜ao exatamente os mesmos que se digita no prompt, ´e tudo shell. 29 de Abril de 2015 7 / 43
  • 8. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT 29 de Abril de 2015 8 / 43
  • 9. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT # date # df # w 29 de Abril de 2015 9 / 43
  • 10. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT ´E melhor fazer um script chamado ”sistema”e colocar estes comandos nele. O conte´udo do arquivo ”sistema”seria o seguinte: #!/bin/bash date df w 29 de Abril de 2015 10 / 43
  • 11. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT N˜ao use o sistema como usu´ario administrador (root), saia e entre como um usu´ario normal; Use apenas letras min´usculas e evite acentos, s´ımbolos e espac¸o em branco; Salve os arquivos dentro de seu diret´orio pessoal ($HOME). 29 de Abril de 2015 11 / 43
  • 12. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Tornar o script um arquivo execut´avel. Use o seguinte comando para que seu script seja reconhecido pelo sistema como um comando execut´avel: $ chmod +x sistema 29 de Abril de 2015 12 / 43
  • 13. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Se o script estiver no diret´orio corrente, chame-o com um ”./”na frente, deste modo: $ ./sistema 29 de Abril de 2015 13 / 43
  • 14. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT O comando ”echo”serve para mostrar mensagens na tela. Altere o arquivo sistema conforme abaixo: #!/bin/bash echo ”Data e Hor´ario:” date echo echo ”Uso do disco:” df echo echo ”Usu´arios conectados:” w 29 de Abril de 2015 14 / 43
  • 15. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Para o script ficar mais completo, vamos colocar uma interac¸ ˜ao m´ınima com o usu´ario, pedindo uma confirmac¸ ˜ao antes de executar os comandos: #!/bin/bash echo ”Vou buscar os dados do sistema. Posso continuar? s/n” read RESPOSTA test ”$RESPOSTA” = ”n” && exit echo ”Data e Hor´ario:” date echo echo ”Uso do disco:” df echo echo ”Usu´arios conectados:” w Ver pr´oximo slide 29 de Abril de 2015 15 / 43
  • 16. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT O conte´udo da vari´avel ´e acessado colocando-se um cifr˜ao ”$”na frente O comando test ´e ´util para fazer v´arios tipos de verificac¸ ˜oes em textos e arquivos O operador l´ogico ”&&”, s´o executa o segundo comando caso o primeiro tenha sido OK. O operador inverso ´e o ”ll”(pipe) 29 de Abril de 2015 16 / 43
  • 17. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Para colocar comet´arios basta iniciar a linha com um ”#”e escrever o texto do coment´ario em seguida; Tamb´em ´e poss´ıvel colocar coment´arios no meio da linha # como este. 29 de Abril de 2015 17 / 43
  • 18. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT As vari´aveis s˜ao a base de qualquer script. ´E dentro delas que os dados obtidos durante a execuc¸ ˜ao do script ser˜ao armazenados. Para definir uma vari´avel, basta usar o sinal de igual ”=”e para ver seu valor, usa-se o ”echo”: (linha de comando) $ VARIAVEL=”um dois tres” $ echo $VARIAVEL um dois tres $ echo $VARIAVEL $VARIAVEL um dois tres um dois tres $ ATENC¸ ˜AO - N˜ao podem haver espac¸os ao redor do igual ”=” 29 de Abril de 2015 18 / 43
  • 19. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Ainda ´e poss´ıvel armazenar a sa´ıda de um comando dentro de uma vari´avel. Ao inv´es de aspas, o comando deve ser colocado entre ”$(...)”, veja: (linha de comando) $ HOJE=$(date) $ echo ”Hoje ´e: $HOJE” Hoje ´e: S´ab Abr 24 18:40:00 BRT $ unset HOJE $ echo $HOJE $ E finalmente, o comando ”unset”apaga uma vari´avel. 29 de Abril de 2015 19 / 43
  • 20. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Diferente de outras linguagens de programac¸ ˜ao, o shell n˜ao usa os parˆenteses para separar o comando de seus argumentos, mas sim o espac¸o em branco. O formato de um comando ´e sempre: COMANDO OPC¸ ˜OES PAR ˆAMETROS O comando ”cat -n sistema”mostra o nosso script, com as linhas numeradas Exemplo $ cat-n sistema 29 de Abril de 2015 20 / 43
  • 21. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT O ”read”´e um comando do pr´oprio shell, j´a o ”date”´e um execut´avel do sistema. Dentro de um script, n˜ao faz diferenc¸a usar um ou outro, pois o shell sabe como executar ambos. H´a v´arios comandos que foram feitos para serem usados com o shell (ver p´ag. 09). 29 de Abril de 2015 21 / 43
  • 22. Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT Trabalhando com SHELL SCRIPT ´E poss´ıvel combinar comandos, aplicando-os em sequˆencia, para formar um comando completo. Usando o pipe ”l”´e poss´ıvel canalizar a sa´ıda de um comando diretamente para a entrada de outro, fazendo uma cadeia de comandos. (linha de comando) Exemplo: $ cat /etc/passwd l grep root l cut -c1-10 root:x:0:0 $ 29 de Abril de 2015 22 / 43
  • 24. Exerc´ıcios Exerc´ıcios Exerc´ıcio 1 Crie um script denominado ”path”que mostre o path corrente, qual o usu´ario que esta logado e por ´ultimo uma listagem completa do diret´orio /home deste usu´ario. 2 Crie um script denominado ”backup”que fac¸a uma c´opia do arquivo ”path”para o diret´orio /home/bkp e logo ap´os fazer o desligamento do seu PC ap´os 2 minutos. 3 Crie um script denominado ”cadastro”que permite criar um usu´ario determinar sua senha e cadastras as informac¸ ˜oes pessoais deste usu´ario. 4 Crie um script denominado ”verificacao”que mostre o tempo que o sistema esta em uso, a vers˜ao do kernel, o uso dos discos, o estado da mem´oria e se a rede est´a funcionando. 5 Crie um script denominado ”grupo”que mostre todos os grupos do sistema. 29 de Abril de 2015 24 / 43
  • 25. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) 29 de Abril de 2015 25 / 43
  • 26. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) O canivete su´ıc¸o dos comandos do shell ´e o ”test”, que consegue fazer v´arios tipos de testes em n´umeros, textos e arquivos. Ele possui v´arias opc¸ ˜oes para indicar que tipo de teste ser´a feito (ver p´ag. 10). 29 de Abril de 2015 26 / 43
  • 27. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Assim como os comandos do sistema que possuem e opc¸ ˜oes e parˆametros, os scripts tamb´em podem ser preparados para receber dados via linha de comando. Dentro do script, algumas vari´aveis especiais s˜ao definidas automaticamente, em especial, ”$1”cont´em o primeiro argumento recebido na linha de comando, ”$2”o segundo, e assim por diante. 29 de Abril de 2015 27 / 43
  • 28. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Digite esse script abaixo com o nome de ”argumento” #!/bin/bash # argumentos - mostra o valor das vari´aveis especiais echo ”O nome deste script ´e: $0” echo ”Recebidos $# argumentos: $*” echo ”O primeiro argumento recebido foi: $1” echo ”O segundo argumento recebido foi: $2” 29 de Abril de 2015 28 / 43
  • 29. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Ele serve para demonstrar o conte´udo de algumas vari´aveis especiais. (linha de comando) $ ./argumentos um dois trˆes O nome deste script ´e: ./argumentos Recebidos 3 argumentos: um dois trˆes O primeiro argumento recebido foi: um O segundo argumento recebido foi: dois 29 de Abril de 2015 29 / 43
  • 30. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) O shell tamb´em sabe fazer contas. A construc¸ ˜ao usada para indicar uma express˜ao aritm´etica ´e ”$((...))”, com dois parˆenteses. (linha de comando) $ echo $((2*3)) 6 $ echo $((2*3-2/2+3)) 8 $ NUM=44 echo $((NUM*2)) 88 $ NUM=$((NUM+1)) $ echo $NUM 45 29 de Abril de 2015 30 / 43
  • 31. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Assim como qualquer outra linguagem de programac¸ ˜ao, o shell tamb´em tem estruturas para se fazer condicionais e loop. As mais usadas s˜ao if, for e while. 29 de Abril de 2015 31 / 43
  • 32. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Estrutura do IF if COMANDO then comandos else comandos fi 29 de Abril de 2015 32 / 43
  • 33. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Exemplo de IF (Salve o script com nome ”teste”) #!/bin/bash echo ”Digite um Numero” read VARIAVEL if test ”$VARIAVEL” -gt 10 then echo ”´e maior que 10” else echo ”´e menor que 10” fi 29 de Abril de 2015 33 / 43
  • 34. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) H´a um atalho para o test , que ´e o comando ” [ ” Ambos s˜ao exatamente o mesmo comando, por´em usar o ” [ ” deixa o if mais parecido com o formato tradicional de outras linguagens (tem que ter espac¸os antes e depois [ ]) if [ ”$VARIAVEL” -gt 10 ] then echo ”´e maior que 10” else echo ”´e menor que 10” fi 29 de Abril de 2015 34 / 43
  • 35. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Altere o script ”teste”para que ele pegue o 1 argumento. $ ./teste 20 e maior que 10 29 de Abril de 2015 35 / 43
  • 36. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Estrutura do FOR for VAR in LISTA do comandos done 29 de Abril de 2015 36 / 43
  • 37. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Exemplo do FOR (Salve o script com nome ”contando”) for numero in um dois trˆes quatro cinco do echo ”Contando: $numero” done 29 de Abril de 2015 37 / 43
  • 38. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Exemplo do FOR (Salve o script com nome ”passo”) for passo in $(seq 10) do echo ”Numero $passo” done 29 de Abril de 2015 38 / 43
  • 39. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Estrutura do WHILE while COMANDO do comandos done 29 de Abril de 2015 39 / 43
  • 40. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Exemplo do WHILE (Salve o script com o nome ”contador”) i=0 while test $i -le 10 do i=$((i+1)) echo ”Contando: $i” done 29 de Abril de 2015 40 / 43
  • 41. Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Trabalhando com SHELL SCRIPT (parte 2) Exemplo do WHILE (Salve o script com o nome ”loop”) while : do if test -f /tmp/lock then echo ”Aguardando liberac¸ ˜ao do lock...” sleep 1 else break fi done 29 de Abril de 2015 41 / 43
  • 43. Atividade Atividade Outras Informac¸ ˜oes Dicas de Shell Script http://www.dicas-l.com.br/cantinhodoshell/ 29 de Abril de 2015 43 / 43