SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Introdução ao Shell Script
 Introdução
 O que é o Shell do Linux ?
 O que é Shell Script e porquê utilizá-lo?
 Programando em Shell
 Conceitos básicos.
 Como escrever ?
 Variáveis
 Aritmética
 Comandos
 Caracteres ”Especiais”
 Arquivos
 ”Conectando” comandos
 Filtros
 Tomada de Decisão
 Laços
 Construção de uma aplicação simples.
O que é o Shell do Linux ?
 É um programa ou um ambiente criado para interação do
usuário com o sistema.
 Shell é uma linguagem interpretada que executa comandos
provenientes de arquivos ou digitados pelo usuário.
 Não é parte do kernel, mas o utiliza para executar programas.
 Existem vários tipos de Shell.
 Para saber os que seu sistema possui digite o seguinte
comando no terminal:
cat /etc/shells
 Para saber qual Shell está executando no momento digite:
echo $SHELL
O que é Shell Script e porquê utilizá-lo?
 O que é ?
 ”É uma série de comandos escritos em um
arquivo de texto.”
 Porquê utilizá-lo ?
 Criar seus próprios comandos.
 Automatizar tarefas do dia-a-dia.
 Automatizar tarefas de administração do sistema.
 Outros.
Conceitos Básicos
Como escrever ?
 Use o editor de texto de sua preferência.
 Depois de terminado o script, é necessário
configurar as permissões seguindo a seguinte
sintaxe:
chmod permissão nome-do-script
Exemplo: chmod +x seu-script
 Para executá-lo podemos usar diversas sintaxes
como:
bash seu-script
sh seu-script
./seu-script
Conceitos Básicos
Variáveis
 Do sistema: Criadas pelo sistema e são definidas
em letra maiúscula.
Exemplos:
$USERNAME - nome do usuário
$HOME – caminho do diretório 'home'
 Definidas pelo usuário: são definidas pela sintaxe:
nome_da_variavel = valor
 Devem iniciar com caracteres alfanuméricos ou '_' seguido
de um ou mais caracteres alfanuméricos.
 Não são permitidos espaços antes ou depois do '='
 Não é permitido o uso de caracteres especiais nos nomes.
Conceitos Básicos
Variáveis
 Regras para nomeação:
1) O nome deve começar com ”_”+caracteres ou caracteres.
HOME var _var
2) Não colocar espaços após o sinal de igual ao fazer uma atribuição.
var = 0 var= 0 var =0 ERRO!
3) São case-sensitive.
4) É possível definir variáveis nulas(NULL).
5) Não use caracteres especiais ao nomeá-las, exceto ”_”.
Conceitos Básicos
Variáveis
 Para acessar uma variável é usada a seguinte
sintaxe:
$nome_da_variavel
 Exemplo:
# Escrevendo uma variável na tela
clear #para limpar a tela
numero=10
string="PESL"
echo "numero = $numero"
echo "string = $string"
Conceitos Básicos
Aritmética
Sintaxe:
`variavel operador1 operador_matematico operador2`
` - crase
Operadores:
+, -, /, *, %
 Exemplos:
echo `7+3` #deve aparecer 10 na tela
echo `7-3` #deve aparecer 4 na tela
echo `7*3` #deve aparecer 21 na tela
Conceitos Básicos
Comandos
 echo – mostra valores ou textos na tela.
Sintaxe: echo [opcao] [string,variável...]
Opções:
-e (habilita os comandos abaixo)
b – espaço
n – nova linha
t – tab
 OBS:
` ` - para executar comandos
' ' - o que estiver entre elas não muda
” ” - o que estiver entre elas é tratado como
caracter, exceto  e $
Conceitos Básicos
Comandos
 Status de um script
 Para saber o que ocorreu quando o script terminou
é necessário saber o seu status. Para isto usamos
o comando ”$?”
echo $? #colocado no fim do script dará o status do mesmo
 Se a saída for ”0”, tudo correu como planejado.
Caso contrário, algum erro ocorreu.
OBS:
Para utilizar mais de um comando de uma só vez,
basta encadeá-los utilizando”;'
Exemplo: comando1;comando2
Conceitos Básicos
Comandos
 read – lê a entrada do teclado
Sintaxe: read var1, var2, var3
Exemplo:
# Script que lê um nome e escreve na tela
clear
echo ”Digite seu nome:”
read nome
echo ”Olá $nome!”
Conceitos Básicos
Caracteres ”Especiais”
 São caracteres ”chave” que facilitam algumas tarefas.
Teste estes comandos no terminal.
Caractere O que faz ? Exemplo
* Retorna coincientes.
ls * - mostra todos os arquivos
ls arquivo* - mostra tudo que começar com
”arquivo”
ls *.java - mostra tudo que tiver a extensão
”.java”
ls a*.c - mostra tudo que tive ”a”+qualquer
string no seu nome
? Retorna coincidentes
ls ? - mostra tudo cujo nome tiver
somente um caractere.
ls arquivo? - mostra tudo cujo nome
come;ca com ”arquivo” e tiver 8
caracteres
[...]
Retorna tudo que coinciir
com o conteúdo entre as
chaves.
ls [x,y,z]* - mostra tudo que começar
com ”x”, ”y” ou ”z”
Conceitos Básicos
 Símbolo de redirecionamento ”>”
 Comando > arquivo
 Exemplo:
$ ls > meuArquivo
Se ”meuArquivo” existir, será preenchido (sobrescrito)
com o resultado do comando, caso contrário, um
arquivo com este nome será criado e preenchido.
 Símbolo de redirecionamento ”>>”
 Comando > arquivo
 Exemplo:
$ ls >> meuArquivo
Se ”meuArquivo” existir, a saída do comando será
adicionada ao fim do arquivo, caso contrário, um
arquivo com este nome será criado e preenchido.
Arquivos
Gravando dados
Conceitos Básicos
 Símbolo de redirecionamento ”<”
 Comando < arquivo
 Exemplo:
$ echo < meuArquivo
A entrada do comando será o conteúdo do arquivo.
 Exemplo:
clear #limpa a tela
echo ”Digite seu nome:”
read nome #captura o que foi digitado
echo ”$nome!” > saida #grava o que foi digitado no arquivo "saida"
date >> saida #grava a data no fim do arquivo "saida"
clear #limpa a tela
cat < saida #imprime na tela o conteudo de "saida"
Arquivos
Lendo dados
Conceitos Básicos
 O que é isso ?
É quando um comando usa o outro como entrada ou saída.
 Exemplos:
$ ls -l | wc -l
A saída do comando ”ls” será informada como parâmetro
para o comando ”wc”, que imprimirá na tela o número
de arquivos neste diretório.
$ ls | sort
A saída do comando ”ls” será informada como parâmetro
para o comando ”sort”, que imprimirá o nome dos
arquivos contidos neste diretório em ordem alfabética.
”Conectando” Comandos
Conceitos Básicos
Exemplos:
 Use o comando ”ls > out.txt” para criar um arquivo com o a saida do
comando ”ls”.
 Teste os comandos abaixo:
$ tail -3 < out.txt > 3ultimas.txt
Gera um arquivo com as 3 últimas linhas contidas
no arquivo ”out.txt”
$ head -n5 < out.txt > 5primeiras.txt
Gera um arquivo com as 5 primeras linhas do
arquivo ”out.txt”
$ head -n10 < out.txt | tail -n5 > linhas_5-10.txt
Gera um arquivo com as linhas 6 a 10 de ”out.txt”
Filtros
Conceitos Básicos
 IF
Sintaxe:
Comparações de variáveis
Tomada de Decisão
Símbolo Em SHELL Símbolo Em SHELL
== -eq != -ne
> gt < -lt
>= ge <= -lt
if [ <condição> ]
then
<comandos>
elif [ <condição> ]
<comandos>
else
<comandos>
fi
if [ <condição> ]
then
<comandos>
else
<comandos>
fi
if [ <condição> ]
then
<comandos>
fi
Conceitos Básicos
 Comparações de Strings
 Testes sobre arquivos e diretórios
Tomada de Decisão
Em SHELL Significado
String1 = String2 As strings são iguais.
String1 != String2 As strings são diferentes.
String Checa se a string é válida (não nula).
-n String Checa se a string é válida e existe.
-z String Checa se a string nula e não existe.
Em SHELL Significado
-s arquivo Arquivo não vazio.
-f arquivo Arquivo existe ou arquivo existe e não é um diretório.
-w arquivo Arquivo pode ser editado.
-r arquivo Arquivo é somente leitura.
-x arquivo Arquivo é executável.
-d diretorio Diretório existe e não é um arquivo.
Conceitos Básicos
 FOR
Sintaxe:
 WHILE
Sintaxe:
Laços
for ( ( <expressão3>; <expressão2>; <expressão3> ) )
do
<comandos>
done
while ( <condição> )
do
<comandos>
done
Construindo uma Aplicação Simples
 Objetivo:
 Encontrar o arquivo com o nome designado na pasta atual e mostrá-lo na tela.

Mais conteúdo relacionado

Mais procurados

007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoesLeandro Barbosa
 
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUACândido Sales Gomes
 
LabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaLabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaCarlos Santos
 
Removendo virus autorun
Removendo virus autorunRemovendo virus autorun
Removendo virus autorunfreginasilva
 
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!Frederico Maia Arantes
 
Programação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaProgramação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaElaine Cecília Gatto
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
10 programando em python - excecoes
 10   programando em python - excecoes 10   programando em python - excecoes
10 programando em python - excecoesVictor Marcelino
 
Java Desktop
Java DesktopJava Desktop
Java Desktopciceroclc
 
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Tchelinux
 

Mais procurados (20)

007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoes
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Aula5
Aula5Aula5
Aula5
 
Ruby (1)
Ruby (1)Ruby (1)
Ruby (1)
 
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
 
LabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaLabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurança
 
Python 04
Python 04Python 04
Python 04
 
Removendo virus autorun
Removendo virus autorunRemovendo virus autorun
Removendo virus autorun
 
ESTRUTURA DE DADOS (JAVA) AULA 03
ESTRUTURA DE DADOS (JAVA) AULA 03ESTRUTURA DE DADOS (JAVA) AULA 03
ESTRUTURA DE DADOS (JAVA) AULA 03
 
GSOIII (JAVA) REVISÃO
GSOIII (JAVA) REVISÃOGSOIII (JAVA) REVISÃO
GSOIII (JAVA) REVISÃO
 
Python 05
Python 05Python 05
Python 05
 
Funcao PHP
Funcao PHPFuncao PHP
Funcao PHP
 
Documentacao automatica
Documentacao automaticaDocumentacao automatica
Documentacao automatica
 
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
 
Programação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaProgramação Desktop: Revisão Core Java
Programação Desktop: Revisão Core Java
 
Terminal off python
Terminal off pythonTerminal off python
Terminal off python
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
10 programando em python - excecoes
 10   programando em python - excecoes 10   programando em python - excecoes
10 programando em python - excecoes
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
 

Semelhante a Shell Script

Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 
Comandos básicos Linux.docx
Comandos básicos Linux.docxComandos básicos Linux.docx
Comandos básicos Linux.docxWallace690884
 
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
 
Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamentoIvani Nascimento
 
01 apostila-introducao-shell
01   apostila-introducao-shell01   apostila-introducao-shell
01 apostila-introducao-shellvinicius caldeira
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraDextra
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batchMarcio Pereira
 
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 2017Sandro Custodio
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power toolsArmando Reis
 

Semelhante a Shell Script (20)

Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Linux shell
Linux shellLinux shell
Linux shell
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Comandos básicos Linux.docx
Comandos básicos Linux.docxComandos básicos Linux.docx
Comandos básicos Linux.docx
 
Shell script i
Shell script iShell script i
Shell script i
 
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
 
Lpi+102
Lpi+102Lpi+102
Lpi+102
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamento
 
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
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails Dextra
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Shell script
Shell scriptShell script
Shell script
 
Shell script
Shell script Shell script
Shell script
 
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
 
Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida) Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida)
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 

Mais de John Godoi

(5) maneiras de motivar a si mesmo
(5) maneiras de motivar a si mesmo(5) maneiras de motivar a si mesmo
(5) maneiras de motivar a si mesmoJohn Godoi
 
The Passionate Programmer (Career tips and learnings)
The Passionate Programmer (Career tips and learnings)The Passionate Programmer (Career tips and learnings)
The Passionate Programmer (Career tips and learnings)John Godoi
 
O jogo mental do poker
O jogo mental do pokerO jogo mental do poker
O jogo mental do pokerJohn Godoi
 
There is no box
There is no boxThere is no box
There is no boxJohn Godoi
 
Comandos do Linux
Comandos do LinuxComandos do Linux
Comandos do LinuxJohn Godoi
 
Intro to java 8
Intro to java 8Intro to java 8
Intro to java 8John Godoi
 
Introduction to apache spark
Introduction to apache sparkIntroduction to apache spark
Introduction to apache sparkJohn Godoi
 
Software craftsmanship
Software craftsmanshipSoftware craftsmanship
Software craftsmanshipJohn Godoi
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
 

Mais de John Godoi (15)

(5) maneiras de motivar a si mesmo
(5) maneiras de motivar a si mesmo(5) maneiras de motivar a si mesmo
(5) maneiras de motivar a si mesmo
 
The Passionate Programmer (Career tips and learnings)
The Passionate Programmer (Career tips and learnings)The Passionate Programmer (Career tips and learnings)
The Passionate Programmer (Career tips and learnings)
 
Spring boot
Spring bootSpring boot
Spring boot
 
O jogo mental do poker
O jogo mental do pokerO jogo mental do poker
O jogo mental do poker
 
There is no box
There is no boxThere is no box
There is no box
 
Gimplabs2
Gimplabs2 Gimplabs2
Gimplabs2
 
Gimplabs3
Gimplabs3 Gimplabs3
Gimplabs3
 
Gcc
Gcc Gcc
Gcc
 
Git básico
Git básicoGit básico
Git básico
 
Gimplabs1
Gimplabs1 Gimplabs1
Gimplabs1
 
Comandos do Linux
Comandos do LinuxComandos do Linux
Comandos do Linux
 
Intro to java 8
Intro to java 8Intro to java 8
Intro to java 8
 
Introduction to apache spark
Introduction to apache sparkIntroduction to apache spark
Introduction to apache spark
 
Software craftsmanship
Software craftsmanshipSoftware craftsmanship
Software craftsmanship
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 

Shell Script

  • 1. Introdução ao Shell Script  Introdução  O que é o Shell do Linux ?  O que é Shell Script e porquê utilizá-lo?  Programando em Shell  Conceitos básicos.  Como escrever ?  Variáveis  Aritmética  Comandos  Caracteres ”Especiais”  Arquivos  ”Conectando” comandos  Filtros  Tomada de Decisão  Laços  Construção de uma aplicação simples.
  • 2. O que é o Shell do Linux ?  É um programa ou um ambiente criado para interação do usuário com o sistema.  Shell é uma linguagem interpretada que executa comandos provenientes de arquivos ou digitados pelo usuário.  Não é parte do kernel, mas o utiliza para executar programas.  Existem vários tipos de Shell.  Para saber os que seu sistema possui digite o seguinte comando no terminal: cat /etc/shells  Para saber qual Shell está executando no momento digite: echo $SHELL
  • 3. O que é Shell Script e porquê utilizá-lo?  O que é ?  ”É uma série de comandos escritos em um arquivo de texto.”  Porquê utilizá-lo ?  Criar seus próprios comandos.  Automatizar tarefas do dia-a-dia.  Automatizar tarefas de administração do sistema.  Outros.
  • 4. Conceitos Básicos Como escrever ?  Use o editor de texto de sua preferência.  Depois de terminado o script, é necessário configurar as permissões seguindo a seguinte sintaxe: chmod permissão nome-do-script Exemplo: chmod +x seu-script  Para executá-lo podemos usar diversas sintaxes como: bash seu-script sh seu-script ./seu-script
  • 5. Conceitos Básicos Variáveis  Do sistema: Criadas pelo sistema e são definidas em letra maiúscula. Exemplos: $USERNAME - nome do usuário $HOME – caminho do diretório 'home'  Definidas pelo usuário: são definidas pela sintaxe: nome_da_variavel = valor  Devem iniciar com caracteres alfanuméricos ou '_' seguido de um ou mais caracteres alfanuméricos.  Não são permitidos espaços antes ou depois do '='  Não é permitido o uso de caracteres especiais nos nomes.
  • 6. Conceitos Básicos Variáveis  Regras para nomeação: 1) O nome deve começar com ”_”+caracteres ou caracteres. HOME var _var 2) Não colocar espaços após o sinal de igual ao fazer uma atribuição. var = 0 var= 0 var =0 ERRO! 3) São case-sensitive. 4) É possível definir variáveis nulas(NULL). 5) Não use caracteres especiais ao nomeá-las, exceto ”_”.
  • 7. Conceitos Básicos Variáveis  Para acessar uma variável é usada a seguinte sintaxe: $nome_da_variavel  Exemplo: # Escrevendo uma variável na tela clear #para limpar a tela numero=10 string="PESL" echo "numero = $numero" echo "string = $string"
  • 8. Conceitos Básicos Aritmética Sintaxe: `variavel operador1 operador_matematico operador2` ` - crase Operadores: +, -, /, *, %  Exemplos: echo `7+3` #deve aparecer 10 na tela echo `7-3` #deve aparecer 4 na tela echo `7*3` #deve aparecer 21 na tela
  • 9. Conceitos Básicos Comandos  echo – mostra valores ou textos na tela. Sintaxe: echo [opcao] [string,variável...] Opções: -e (habilita os comandos abaixo) b – espaço n – nova linha t – tab  OBS: ` ` - para executar comandos ' ' - o que estiver entre elas não muda ” ” - o que estiver entre elas é tratado como caracter, exceto e $
  • 10. Conceitos Básicos Comandos  Status de um script  Para saber o que ocorreu quando o script terminou é necessário saber o seu status. Para isto usamos o comando ”$?” echo $? #colocado no fim do script dará o status do mesmo  Se a saída for ”0”, tudo correu como planejado. Caso contrário, algum erro ocorreu. OBS: Para utilizar mais de um comando de uma só vez, basta encadeá-los utilizando”;' Exemplo: comando1;comando2
  • 11. Conceitos Básicos Comandos  read – lê a entrada do teclado Sintaxe: read var1, var2, var3 Exemplo: # Script que lê um nome e escreve na tela clear echo ”Digite seu nome:” read nome echo ”Olá $nome!”
  • 12. Conceitos Básicos Caracteres ”Especiais”  São caracteres ”chave” que facilitam algumas tarefas. Teste estes comandos no terminal. Caractere O que faz ? Exemplo * Retorna coincientes. ls * - mostra todos os arquivos ls arquivo* - mostra tudo que começar com ”arquivo” ls *.java - mostra tudo que tiver a extensão ”.java” ls a*.c - mostra tudo que tive ”a”+qualquer string no seu nome ? Retorna coincidentes ls ? - mostra tudo cujo nome tiver somente um caractere. ls arquivo? - mostra tudo cujo nome come;ca com ”arquivo” e tiver 8 caracteres [...] Retorna tudo que coinciir com o conteúdo entre as chaves. ls [x,y,z]* - mostra tudo que começar com ”x”, ”y” ou ”z”
  • 13. Conceitos Básicos  Símbolo de redirecionamento ”>”  Comando > arquivo  Exemplo: $ ls > meuArquivo Se ”meuArquivo” existir, será preenchido (sobrescrito) com o resultado do comando, caso contrário, um arquivo com este nome será criado e preenchido.  Símbolo de redirecionamento ”>>”  Comando > arquivo  Exemplo: $ ls >> meuArquivo Se ”meuArquivo” existir, a saída do comando será adicionada ao fim do arquivo, caso contrário, um arquivo com este nome será criado e preenchido. Arquivos Gravando dados
  • 14. Conceitos Básicos  Símbolo de redirecionamento ”<”  Comando < arquivo  Exemplo: $ echo < meuArquivo A entrada do comando será o conteúdo do arquivo.  Exemplo: clear #limpa a tela echo ”Digite seu nome:” read nome #captura o que foi digitado echo ”$nome!” > saida #grava o que foi digitado no arquivo "saida" date >> saida #grava a data no fim do arquivo "saida" clear #limpa a tela cat < saida #imprime na tela o conteudo de "saida" Arquivos Lendo dados
  • 15. Conceitos Básicos  O que é isso ? É quando um comando usa o outro como entrada ou saída.  Exemplos: $ ls -l | wc -l A saída do comando ”ls” será informada como parâmetro para o comando ”wc”, que imprimirá na tela o número de arquivos neste diretório. $ ls | sort A saída do comando ”ls” será informada como parâmetro para o comando ”sort”, que imprimirá o nome dos arquivos contidos neste diretório em ordem alfabética. ”Conectando” Comandos
  • 16. Conceitos Básicos Exemplos:  Use o comando ”ls > out.txt” para criar um arquivo com o a saida do comando ”ls”.  Teste os comandos abaixo: $ tail -3 < out.txt > 3ultimas.txt Gera um arquivo com as 3 últimas linhas contidas no arquivo ”out.txt” $ head -n5 < out.txt > 5primeiras.txt Gera um arquivo com as 5 primeras linhas do arquivo ”out.txt” $ head -n10 < out.txt | tail -n5 > linhas_5-10.txt Gera um arquivo com as linhas 6 a 10 de ”out.txt” Filtros
  • 17. Conceitos Básicos  IF Sintaxe: Comparações de variáveis Tomada de Decisão Símbolo Em SHELL Símbolo Em SHELL == -eq != -ne > gt < -lt >= ge <= -lt if [ <condição> ] then <comandos> elif [ <condição> ] <comandos> else <comandos> fi if [ <condição> ] then <comandos> else <comandos> fi if [ <condição> ] then <comandos> fi
  • 18. Conceitos Básicos  Comparações de Strings  Testes sobre arquivos e diretórios Tomada de Decisão Em SHELL Significado String1 = String2 As strings são iguais. String1 != String2 As strings são diferentes. String Checa se a string é válida (não nula). -n String Checa se a string é válida e existe. -z String Checa se a string nula e não existe. Em SHELL Significado -s arquivo Arquivo não vazio. -f arquivo Arquivo existe ou arquivo existe e não é um diretório. -w arquivo Arquivo pode ser editado. -r arquivo Arquivo é somente leitura. -x arquivo Arquivo é executável. -d diretorio Diretório existe e não é um arquivo.
  • 19. Conceitos Básicos  FOR Sintaxe:  WHILE Sintaxe: Laços for ( ( <expressão3>; <expressão2>; <expressão3> ) ) do <comandos> done while ( <condição> ) do <comandos> done
  • 20. Construindo uma Aplicação Simples  Objetivo:  Encontrar o arquivo com o nome designado na pasta atual e mostrá-lo na tela.