Professional Documents
Culture Documents
Software Livre
SL: Shell Script Parte 1 Aula 04
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:
Tipos de Shell
sh csh ksh tcsh bash Bourne Shell C Shell Korn Shell Tenex / Tops C Shell Bourne Again Shell
(GNU)
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
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.
# ! / bin / bash # Mostra na tela a mensagem Hello Word echo Hello World
Exemplo:
Utilizando um editor de texto (gedit), crie um arquivo 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!
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
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
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
Software Livre
SL: Shell Script Parte 1 Aula 04