You are on page 1of 26

Tecnologias e Sistemas de Informao

Software Livre
SL: Shell Script Parte 1 Aula 04

Prof. Marcelo Z. do Nascimento

Roteiro
Definio de Shell Script Tipos de Shell Shell Script Comandos de Manipulao Exemplos de cdigo WildCards Praticando em Shell Script Leitura Sugerida

Definio
O Shell o mdulo que atua como interface entre o usurio e o sistema operacional Shell Scripts so sequncias de comando Interpretados e suportados pelo Linux Podendo compar-los com os arquivos de lote do sistema operacional DOS (*.BAT)

Definio
a linguagem de programao que dispe de comandos de:

Deciso Controle de Fluxo Funes, entre outros

Tipos de Shell
sh csh ksh tcsh bash Bourne Shell C Shell Korn Shell Tenex / Tops C Shell Bourne Again Shell
(GNU)

Configurao do comando do bash


/etc/shells

/bin/bash /bin/sh /bin/bsh /bin/ash /bin/ksh /bin/tcsh /bin/csh

Shell
No arquivo texto ser procurado o hashbang logo no incio. Hashbang o nome que se d para cerquilha exclamao (#!) que um sinal que identifica o interpretador.

Para tornar um script executvel escreva chmod +x nome_script Para executar o seu script escreva: ./nome_script

Na programao shell os comentrios comeam com # e vo at o fim da linha

Comandos de Manipulao
echo test exit $var var=100 read var escreve mensagem de texto na tela Pode colocar o texto entre "aspas". verifica o contedo da varivel usado para finalizar o script Acessa o contedo da varivel var identifica esta seqncia como uma atribuio para varivel var, sem espao em branco Entrada de dados pelo usurio e Armazena numa varivel var

Variveis
No Linux (Shell) h variveis: (1) Variveis de sistema Criada e mantida pelo prprio Linux. Este tipo de varivel definida com letra maiscula (2) Variveis Definidas pelo Usurio (VDU) Criada e mantida pelo usurio. Este tipo de varivel definida com letra minuscula.

Variveis de Sistema
BASH=/bin/bas BASH_VERSION=1.14.7 COLUMNS=80 LINES=25 USERNAME=ufabc HOME=/home/ufabc Nome do shell Verso do shell Nmero de colunas para a tela Nmero de linhas para a tela Nome do usurio que est logado no PC Diretrio do Home

VDU
Para definir as variveis VDU, use : nome=valor Exemplo: Defina a varivel n com valor numerico 10 $ n=10 (1) nome da varivel deve comear com caractere alfanumrico ou caractere (_), seguido por um ou mais caracteres. (2) No coloque espao entre a varivel e sua atribuio. (3) As variveis so case-sensitive, semelhante aos arquivos em Linux. no=10 $ No=11 echo $no # imprimir 10 $ echo $No # imprimir 11

Quotes
variavel="Meu login $USER Echo $variavel variavel=Diretrio=`pwd` echo $variavel Variavel='Meu login $USER' echo $variavel Aspas duplas: valor da varivel ser interpretada Crases: usado para interpretar os Comandos declarados Apstrofes: declarao de literal

Exemplo
# ! / bin / bash myname=ufabc myos = LinuxeOS -----> ERRO 1 myno=5 echo "MEU NOME $myname" echo "MEU s $myos" echo "MEU NUMER myno" ----> ERRO 2

Comandos de Manipulao
cat sort teste.txt wc -l arquivo Exibe todo o contedo do arquivo para uma sada ordena as linhas no arquivo teste.txt Mostra informaes de um arquivo -l nmero de linhas -c nmero de bytes find procura arquivos -name nome-do-arquivo -user nome-do-usurio clear Limpa a tela

Comandos de Manipulao
grep procura por strings num arquivo -i ignora maisculas e minsculas -v inverte o resultado -R procura recursivamente ordena as linhas no arquivo teste.txt

sort teste.txt

No arquivo texto ser procurado o hashbang logo no incio. Hashbang o nome que se d para cerquilha exclamao (#!) que um sinal que identifica o interpretador.

Exemplo: Primeiro Shell script


Utilizando um editor de texto (gedit), crie um arquivo hello.sh

# ! / bin / bash # Mostra na tela a mensagem Hello Word echo Hello World

$ chmod +x hello.sh $./hello.sh

Exemplo:
Utilizando um editor de texto (gedit), crie um arquivo digitar.sh

# ! / bin / bash # Mostra a primeira string digitada echo Voc digitou: $1

$ chmod +x digitar.sh $./digitar.sh

Exemplo:
Utilizando um editor de texto (gedit), crie um arquivo nome.sh

# ! / bin / bash echo n Digite seu nome: read NOME SOBRENOME echo Prazer em encontr-lo $NOME!

$ chmod +x nome.sh $./nome.sh

Exemplo:
Utilizando um editor de texto (gedit), crie um arquivo limpa.sh

# ! / bin / bash # Script para limpar a tela echo A tela ser apagada em 8 segundos sleep 8 clear $ chmod +x limpa.sh $./limpa.sh

Expresses Aritmticas
Expr operador1 operador_matemtico operador2 $ expr 1 + 3 $ expr 2 - 1 Retorna o valor numrico 4 Retorna o valor numrico 1

Exemplo:
Utilizando um editor de texto (gedit), crie um arquivo opera.sh

# ! / bin / bash # Mostra 5 *4: 20

echo "5 x 4: $((5*4))"


$ chmod +x opera.sh $./opera.sh

Wildcards
Wildcards so caracteres que permitem designar nomes genricos para arquivos e diretrios na linha de comando

ls -l /usr/bin/c* $ ls /bin/[a-c]*

* : designa qualquer string com zero ou mais caracteres [..-..] par de caracteres separado mostra um intervalo

Praticando em Shell Script


Como trabalhar com Shell Script: Atualizando a lista de pacotes Assista o vdeo: Manipulando Shell Script. Navegando pelos pacotes disponveis

Sumrio
Definio de Shell Script Tipos de Shell Shell Script Comandos de Manipulao Exemplos WildCards Praticando em Shell Script Leitura Sugerida

Leituras Sugeridas
http://aurelio.net/shell/canivete.html http://aurelio.net/shell/apostila-introducao-shell.pdf

25

Tecnologias e Sistemas de Informao

Software Livre
SL: Shell Script Parte 1 Aula 04

Prof. Marcelo Z. do Nascimento

You might also like