SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Fundamento de 
Programação Aplicada a 
Redes 
Aula 4 – Comandos básicos shell script 
Professor: Paulo Cesar 
E-mail: pccbranco@gmail.com
Comandos Básicos 
Detalhes sobre alguns comandos 
Comando Função Opções úteis 
cat Mostrar arquivo -n -s 
cut Extrai campo -d -f -c 
date Mostra data -d 
find Encontra arquivos -name -iname -type f 
grep Encontra texto -i -v -r -w -x 
rev Inverte texto 
sort Ordena texto -n -f -r 
seq Conta números -s -f 
tr Transforma texto -d -s A-Z a-z 
uniq Remove arquivos duplicados -i -d -u 
wc Conta letras -c -l -w 
read
Shell Script 
Recebendo entrada de dados 
O comando “read” faz com que variaveis possam 
receber entradas do usuário. 
Quando o script encontra um comando “read”, ele 
para sua execução e aguarda que o usuário informe os 
dados e tecle enter, para concluir a operação. 
Ex.: 
#!/bin/bash 
read nome 
Echo “Meu nome é $nome”
Aspas simples, duplas 
e crase 
Há muita diferença entre eles. Proteção com aspas (quoting) é a forma utilizada 
para informar ao shell como interpretar os dados passados. 
Aspas Simples ( '…..') 
Aspas simples forçam o shell a tratar literalmente tudo o que estiver entre o 
par de aspas. Não é possível encaixar aspas simples dentro de uma string 
protegida por aspas simples, pois nem a barra invertida () é especial dentro de 
aspas simples. 
Ex: 
var = 'Olá, eu sou $USER' 
O Conteúdo de var é: Olá, eu sou $USER – A variável $USER não foi 
processado. Tudo que se encontra dentro das aspas simples é entendido 
literalmente.
Aspas simples, duplas 
e crase 
Aspas duplas (“......”) 
Aspas duplas agrupam o texto como uma única string, porém 
o shell processa caracteres de escape, variáveis, substituição 
de comandos, etc. 
Ex.: 
var=“Olá, eu sou $USER” 
Agora var contém Olá, eu sou root – A variavel $USER 
agora vai devidamente processada e seu valor passado para 
string.
Aspas simples, duplas 
e crase 
Crase (`....`) 
A crase passa a saída do comando entre a crase para a 
string. 
Ex: 
var=”Eu agora estou em: `pwd`” 
O Conteúdo de var ficou: Eu estou agora estou em: 
/home/aluno
O comando “expr” 
Comandos para scripts interativos 
O comando expr trabalha com expressões matemáticas 
simples e somente números inteiros. Permite, também, 
manipulação de strings, mas com recursos limitados. 
Exemplos de operações matemáticas com expr podem ser vistos 
abaixo: 
$ expr 3 + 4 
7 $ expr 5 - 2 
3 $ expr 10 / 5 
2 $ expr 2 * 3 
expr: erro de sintaxe 
$ expr 2 * 3 
6 
Exemplo: 
#!/bin/bash 
echo “Entre com um número:” 
read num1 
echo “Entre com outro número:” 
read num2 
echo “O resultado da soma foi: “ 
expr $num1 + $num2
Comando “test” 
O comando test consegue fazer vários tipos de 
testes em números, textos e arquivos. Ele 
possui várias opções para indicar que tipo de 
teste será feito, segue alguns: 
$ test expressão # Formato comum. 
[ expressão ] # Formato recente. 
[ s1 == s2 ] # Retorna verdadeiro se a string s1 for igual a 
string s2 
[ s1 != s2 ] # Retorna verdadeiro se a string s1 for diferente 
da string s2.
Comando “test” 
Utilizado entre variáveis 
Opção Descrição 
-gt Número é maior que 
-ge Número é maior e igual 
-lt Número é menor que 
-le Número é menor e igual 
-eq Número é igual 
= String é igual 
!= String é diferente 
-n String não é nula 
-z String é nula
Comando “test” 
Utilizado em arquivos 
Opção Descrição 
-e Arquivo existe 
-d É um diretório 
-f É um arquivo normal 
-r O arquivo tem permissão de leitura. 
-s O tamanho do arquivo é maior que zero. 
-w O arquivo tem permissão de escrita.
Exemplo - Script 
#!/bin/bash 
Echo “vou buscar os dados do sistema. Posso continuar? 
[sn]” 
read resposta 
test “$resposta” = “n” && exit 
echo “data e horario:” 
date 
echo 
echo “uso do disco:” 
df 
echo “usuários conectados:” 
w
Estrutura de Controle 
O construtor “if/then” avalia uma expressão lógica para tomar 
uma decisão. Em shell, se a saída retorna verdadeiro (significa 
sucesso). Em caso afirmativo, executa uma ou mais comandos. 
Existe um comando específico, denominado “[ ]” (caractere 
especial colchete). Ele considera seus argumentos como 
expressões de comparação ou testes em arquivos e retorna um 
status correspondente ao resultado da comparação ( 0 para 
verdadeiro e 1 para falso). 
O construtor “if/then” pode testar a saída de qualquer comando, 
não se limitando apenas a testes entre colchetes.
Estrutura de Controle 
Sintaxe
Exemplo – if/then 
#!/bin/bash 
echo "Compara dois numeros" 
echo "Escreva o primeiro numero:" 
read n1 
echo "Escreva o segundo numero:" 
read n2 
if [ $n1 == $n2 ] 
then 
echo “Os números são iguais" 
else 
echo “Os números são diferentes" 
f
Exemplo – if/then 
#!/bin/bash 
echo "Digite o nome de uma pasta" 
read nome1 
if test -d $nome1 
then 
cd $nome1 
touch arquivo1.txt 
else 
mkdir $nome1 
cd $nome1 
touch arquivo1.txt 
f
Estrutura de Controle 
A estrutura case permite selecionar uma entre várias opções de 
ação, baseando-se num valor de uma variável. 
Deve ser usada no lugar da declaração if/then quando esta tiver 
um grande número de condições. 
Essa estrutura pode ser usada para executar declarações que 
dependem de um valor isolado ou de uma faixa de valores. Se 
nenhum valor for encontrado, há a opção de executar o valor 
padrão “*”. 
A variável definida logo após a instrução case tem que ter alguma 
das opções em seguida. Se nenhuma opção for escolhida, a opção 
padrão será executada. 
O próximo slide mostra um exemplo de uso do case.
Exemplo - Case 
#!/bin/bash 
echo “Qual sua resposta?” 
read opcao 
case $opcao in 
sim ) echo "Você concordou!" ;; 
nao ) echo "Que pena!" ;; 
* ) echo "Nem sim, nem não";; 
esac 
Deve-se observar que as instruções terminam com um duplo 
ponto-e-vírgula “;;”. Se não for assim, a instrução seguinte será 
executada junto. Este duplo ponto-e-vírgula pode ser colocado 
depois da instrução ou na linha seguinte. Para encerrar a 
estrutura ”case” usa-se ”esac”, que é case escrito ao contrário.
Exemplo - Case 
#!/bin/bash 
echo "Digite o primeiro numero:" 
read n1 
echo "Digite o segundo numero:" 
read n2 
echo "Escolha uma operação?" 
read opcao 
case $opcao in 
soma) echo "A soma dos numeros é `expr $n1 + $n2`" ;; 
sub) echo "A subtração dos numeros é `expr $n1 - $n2`" ;; 
div) echo "A divisão dos numeros é `expr $n1 / $n2`" ;; 
mult) echo "A multiplicação dos numeros é `expr $n1 * $n2`" ;; 
*) echo " Nenhuma operação foi realizada" ;; 
esac

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Curso de Shell Script 05/11
Curso de Shell Script 05/11Curso de Shell Script 05/11
Curso de Shell Script 05/11
 
Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7Curso de ShellScript - Lm07 shellscript7
Curso de ShellScript - Lm07 shellscript7
 
PowerShell
PowerShellPowerShell
PowerShell
 
Pascal apostila
Pascal apostilaPascal apostila
Pascal apostila
 
Aula4
Aula4Aula4
Aula4
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
 
Variáveis
VariáveisVariáveis
Variáveis
 
Curso de Shell Script 10/11
Curso de Shell Script 10/11Curso de Shell Script 10/11
Curso de Shell Script 10/11
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Cap1 exercicios comandos linux
Cap1 exercicios comandos linuxCap1 exercicios comandos linux
Cap1 exercicios comandos linux
 
Javafx Introdução
Javafx IntroduçãoJavafx Introdução
Javafx Introdução
 
Scatole Nere
Scatole NereScatole Nere
Scatole Nere
 
A Classe StringBuilder em Java
A Classe StringBuilder em JavaA Classe StringBuilder em Java
A Classe StringBuilder em Java
 
Curso De Shell Aula 6
Curso De Shell   Aula 6Curso De Shell   Aula 6
Curso De Shell Aula 6
 
Oficina shell
Oficina shellOficina shell
Oficina shell
 
Canivete shell
Canivete shellCanivete shell
Canivete shell
 
PHP fora da Web
PHP fora da WebPHP fora da Web
PHP fora da Web
 
Perl Moderno, dia4
Perl Moderno, dia4Perl Moderno, dia4
Perl Moderno, dia4
 

Andere mochten auch

Creio na igreja catolica
Creio na igreja catolicaCreio na igreja catolica
Creio na igreja catolicaWebExecutivo1
 
Projeto Lideres Teens
Projeto Lideres TeensProjeto Lideres Teens
Projeto Lideres TeensEDUCATE
 
Catastrofes fim do-mundo-dez2012
Catastrofes fim do-mundo-dez2012Catastrofes fim do-mundo-dez2012
Catastrofes fim do-mundo-dez2012Alvaro Augusto
 
Actividades en familia 7
Actividades en familia 7Actividades en familia 7
Actividades en familia 7Susana Vila
 
A evolução das mídias sociais
A evolução das mídias sociaisA evolução das mídias sociais
A evolução das mídias sociaisMarilene dos Santos
 
Abanos de alumnos portfolio 2011
Abanos de alumnos portfolio 2011Abanos de alumnos portfolio 2011
Abanos de alumnos portfolio 2011teteg662
 
Desarrollo de habilidades directivas, angel ortiz 0280
Desarrollo de habilidades directivas, angel ortiz 0280Desarrollo de habilidades directivas, angel ortiz 0280
Desarrollo de habilidades directivas, angel ortiz 0280Angel Rogelio Ortiz del Pino
 
Tema_15AUX
Tema_15AUXTema_15AUX
Tema_15AUXIsaac Pc
 
Quanto me amei_de_verdade
Quanto me amei_de_verdadeQuanto me amei_de_verdade
Quanto me amei_de_verdadecefriopreto
 
São paulo população das cidades - 2010
São paulo    população das cidades - 2010São paulo    população das cidades - 2010
São paulo população das cidades - 2010Alvaro Crisanto
 
ASSOCIAÇÃO VIDA CATMO
ASSOCIAÇÃO VIDA CATMOASSOCIAÇÃO VIDA CATMO
ASSOCIAÇÃO VIDA CATMOGuina_Gru
 
No resistencia j2 2
No resistencia j2 2No resistencia j2 2
No resistencia j2 2fomtv
 
Si yo tuviera un millon de dolares
Si yo tuviera un millon de dolaresSi yo tuviera un millon de dolares
Si yo tuviera un millon de dolaresepeecher
 
AprendizaXe Cooperativo Fernando Trujillo
AprendizaXe Cooperativo Fernando TrujilloAprendizaXe Cooperativo Fernando Trujillo
AprendizaXe Cooperativo Fernando TrujilloSusana Vila
 

Andere mochten auch (20)

Creio na igreja catolica
Creio na igreja catolicaCreio na igreja catolica
Creio na igreja catolica
 
Projeto Lideres Teens
Projeto Lideres TeensProjeto Lideres Teens
Projeto Lideres Teens
 
Catastrofes fim do-mundo-dez2012
Catastrofes fim do-mundo-dez2012Catastrofes fim do-mundo-dez2012
Catastrofes fim do-mundo-dez2012
 
Actividades en familia 7
Actividades en familia 7Actividades en familia 7
Actividades en familia 7
 
A evolução das mídias sociais
A evolução das mídias sociaisA evolução das mídias sociais
A evolução das mídias sociais
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Abanos de alumnos portfolio 2011
Abanos de alumnos portfolio 2011Abanos de alumnos portfolio 2011
Abanos de alumnos portfolio 2011
 
Desarrollo de habilidades directivas, angel ortiz 0280
Desarrollo de habilidades directivas, angel ortiz 0280Desarrollo de habilidades directivas, angel ortiz 0280
Desarrollo de habilidades directivas, angel ortiz 0280
 
Joy final
Joy finalJoy final
Joy final
 
Tema_15AUX
Tema_15AUXTema_15AUX
Tema_15AUX
 
Quanto me amei_de_verdade
Quanto me amei_de_verdadeQuanto me amei_de_verdade
Quanto me amei_de_verdade
 
São paulo população das cidades - 2010
São paulo    população das cidades - 2010São paulo    população das cidades - 2010
São paulo população das cidades - 2010
 
ASSOCIAÇÃO VIDA CATMO
ASSOCIAÇÃO VIDA CATMOASSOCIAÇÃO VIDA CATMO
ASSOCIAÇÃO VIDA CATMO
 
Liderazgo integral, angel ortiz 0268
Liderazgo integral, angel ortiz  0268Liderazgo integral, angel ortiz  0268
Liderazgo integral, angel ortiz 0268
 
No resistencia j2 2
No resistencia j2 2No resistencia j2 2
No resistencia j2 2
 
Primaria
PrimariaPrimaria
Primaria
 
Si yo tuviera un millon de dolares
Si yo tuviera un millon de dolaresSi yo tuviera un millon de dolares
Si yo tuviera un millon de dolares
 
Lan amento horizontal
Lan amento horizontalLan amento horizontal
Lan amento horizontal
 
AprendizaXe Cooperativo Fernando Trujillo
AprendizaXe Cooperativo Fernando TrujilloAprendizaXe Cooperativo Fernando Trujillo
AprendizaXe Cooperativo Fernando Trujillo
 
Malbecnobre
MalbecnobreMalbecnobre
Malbecnobre
 

Ähnlich wie Fpar aula5

Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxoFrederico Madeira
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power toolsArmando Reis
 
Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Pessoal
 
Introdução a Linguagem de Programação Ruby
Introdução a Linguagem de Programação RubyIntrodução a Linguagem de Programação Ruby
Introdução a Linguagem de Programação RubyDiego Rubin
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Hugo Maia Vieira
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batchMarcio Pereira
 
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
 
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
 

Ähnlich wie Fpar aula5 (20)

Linux shell
Linux shellLinux shell
Linux shell
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Shell Script - Controle de fluxo
Shell Script - Controle de fluxoShell Script - Controle de fluxo
Shell Script - Controle de fluxo
 
Shell script i
Shell script iShell script i
Shell script i
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
shell bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
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)
 
Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5Curso de ShellScript - Lm05 shellscript5
Curso de ShellScript - Lm05 shellscript5
 
Introdução a Linguagem de Programação Ruby
Introdução a Linguagem de Programação RubyIntrodução a Linguagem de Programação Ruby
Introdução a Linguagem de Programação Ruby
 
Curso shell
Curso shellCurso shell
Curso shell
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Shell script
Shell scriptShell script
Shell script
 
Shell script
Shell scriptShell script
Shell script
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
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 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
 

Mehr von Geomar Matias Lima (10)

Dupla 8 doc
Dupla 8 docDupla 8 doc
Dupla 8 doc
 
Agr introducao
Agr introducaoAgr introducao
Agr introducao
 
Agr aula2
Agr aula2Agr aula2
Agr aula2
 
Agr aula3
Agr aula3Agr aula3
Agr aula3
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídos
 
TABELA BRASILEIRÃO 2014 SERIE B
TABELA BRASILEIRÃO 2014 SERIE BTABELA BRASILEIRÃO 2014 SERIE B
TABELA BRASILEIRÃO 2014 SERIE B
 
Tabela serieb2014 realçdo
Tabela serieb2014 realçdoTabela serieb2014 realçdo
Tabela serieb2014 realçdo
 
Tabela serieb2014
Tabela serieb2014Tabela serieb2014
Tabela serieb2014
 
Descrição do curso mva eventos
Descrição do curso mva eventosDescrição do curso mva eventos
Descrição do curso mva eventos
 
Apostila de karate_shotokan
Apostila de karate_shotokanApostila de karate_shotokan
Apostila de karate_shotokan
 

Fpar aula5

  • 1. Fundamento de Programação Aplicada a Redes Aula 4 – Comandos básicos shell script Professor: Paulo Cesar E-mail: pccbranco@gmail.com
  • 2. Comandos Básicos Detalhes sobre alguns comandos Comando Função Opções úteis cat Mostrar arquivo -n -s cut Extrai campo -d -f -c date Mostra data -d find Encontra arquivos -name -iname -type f grep Encontra texto -i -v -r -w -x rev Inverte texto sort Ordena texto -n -f -r seq Conta números -s -f tr Transforma texto -d -s A-Z a-z uniq Remove arquivos duplicados -i -d -u wc Conta letras -c -l -w read
  • 3. Shell Script Recebendo entrada de dados O comando “read” faz com que variaveis possam receber entradas do usuário. Quando o script encontra um comando “read”, ele para sua execução e aguarda que o usuário informe os dados e tecle enter, para concluir a operação. Ex.: #!/bin/bash read nome Echo “Meu nome é $nome”
  • 4. Aspas simples, duplas e crase Há muita diferença entre eles. Proteção com aspas (quoting) é a forma utilizada para informar ao shell como interpretar os dados passados. Aspas Simples ( '…..') Aspas simples forçam o shell a tratar literalmente tudo o que estiver entre o par de aspas. Não é possível encaixar aspas simples dentro de uma string protegida por aspas simples, pois nem a barra invertida () é especial dentro de aspas simples. Ex: var = 'Olá, eu sou $USER' O Conteúdo de var é: Olá, eu sou $USER – A variável $USER não foi processado. Tudo que se encontra dentro das aspas simples é entendido literalmente.
  • 5. Aspas simples, duplas e crase Aspas duplas (“......”) Aspas duplas agrupam o texto como uma única string, porém o shell processa caracteres de escape, variáveis, substituição de comandos, etc. Ex.: var=“Olá, eu sou $USER” Agora var contém Olá, eu sou root – A variavel $USER agora vai devidamente processada e seu valor passado para string.
  • 6. Aspas simples, duplas e crase Crase (`....`) A crase passa a saída do comando entre a crase para a string. Ex: var=”Eu agora estou em: `pwd`” O Conteúdo de var ficou: Eu estou agora estou em: /home/aluno
  • 7. O comando “expr” Comandos para scripts interativos O comando expr trabalha com expressões matemáticas simples e somente números inteiros. Permite, também, manipulação de strings, mas com recursos limitados. Exemplos de operações matemáticas com expr podem ser vistos abaixo: $ expr 3 + 4 7 $ expr 5 - 2 3 $ expr 10 / 5 2 $ expr 2 * 3 expr: erro de sintaxe $ expr 2 * 3 6 Exemplo: #!/bin/bash echo “Entre com um número:” read num1 echo “Entre com outro número:” read num2 echo “O resultado da soma foi: “ expr $num1 + $num2
  • 8. Comando “test” O comando test consegue fazer vários tipos de testes em números, textos e arquivos. Ele possui várias opções para indicar que tipo de teste será feito, segue alguns: $ test expressão # Formato comum. [ expressão ] # Formato recente. [ s1 == s2 ] # Retorna verdadeiro se a string s1 for igual a string s2 [ s1 != s2 ] # Retorna verdadeiro se a string s1 for diferente da string s2.
  • 9. Comando “test” Utilizado entre variáveis Opção Descrição -gt Número é maior que -ge Número é maior e igual -lt Número é menor que -le Número é menor e igual -eq Número é igual = String é igual != String é diferente -n String não é nula -z String é nula
  • 10. Comando “test” Utilizado em arquivos Opção Descrição -e Arquivo existe -d É um diretório -f É um arquivo normal -r O arquivo tem permissão de leitura. -s O tamanho do arquivo é maior que zero. -w O arquivo tem permissão de escrita.
  • 11. Exemplo - Script #!/bin/bash Echo “vou buscar os dados do sistema. Posso continuar? [sn]” read resposta test “$resposta” = “n” && exit echo “data e horario:” date echo echo “uso do disco:” df echo “usuários conectados:” w
  • 12. Estrutura de Controle O construtor “if/then” avalia uma expressão lógica para tomar uma decisão. Em shell, se a saída retorna verdadeiro (significa sucesso). Em caso afirmativo, executa uma ou mais comandos. Existe um comando específico, denominado “[ ]” (caractere especial colchete). Ele considera seus argumentos como expressões de comparação ou testes em arquivos e retorna um status correspondente ao resultado da comparação ( 0 para verdadeiro e 1 para falso). O construtor “if/then” pode testar a saída de qualquer comando, não se limitando apenas a testes entre colchetes.
  • 14. Exemplo – if/then #!/bin/bash echo "Compara dois numeros" echo "Escreva o primeiro numero:" read n1 echo "Escreva o segundo numero:" read n2 if [ $n1 == $n2 ] then echo “Os números são iguais" else echo “Os números são diferentes" f
  • 15. Exemplo – if/then #!/bin/bash echo "Digite o nome de uma pasta" read nome1 if test -d $nome1 then cd $nome1 touch arquivo1.txt else mkdir $nome1 cd $nome1 touch arquivo1.txt f
  • 16. Estrutura de Controle A estrutura case permite selecionar uma entre várias opções de ação, baseando-se num valor de uma variável. Deve ser usada no lugar da declaração if/then quando esta tiver um grande número de condições. Essa estrutura pode ser usada para executar declarações que dependem de um valor isolado ou de uma faixa de valores. Se nenhum valor for encontrado, há a opção de executar o valor padrão “*”. A variável definida logo após a instrução case tem que ter alguma das opções em seguida. Se nenhuma opção for escolhida, a opção padrão será executada. O próximo slide mostra um exemplo de uso do case.
  • 17. Exemplo - Case #!/bin/bash echo “Qual sua resposta?” read opcao case $opcao in sim ) echo "Você concordou!" ;; nao ) echo "Que pena!" ;; * ) echo "Nem sim, nem não";; esac Deve-se observar que as instruções terminam com um duplo ponto-e-vírgula “;;”. Se não for assim, a instrução seguinte será executada junto. Este duplo ponto-e-vírgula pode ser colocado depois da instrução ou na linha seguinte. Para encerrar a estrutura ”case” usa-se ”esac”, que é case escrito ao contrário.
  • 18. Exemplo - Case #!/bin/bash echo "Digite o primeiro numero:" read n1 echo "Digite o segundo numero:" read n2 echo "Escolha uma operação?" read opcao case $opcao in soma) echo "A soma dos numeros é `expr $n1 + $n2`" ;; sub) echo "A subtração dos numeros é `expr $n1 - $n2`" ;; div) echo "A divisão dos numeros é `expr $n1 / $n2`" ;; mult) echo "A multiplicação dos numeros é `expr $n1 * $n2`" ;; *) echo " Nenhuma operação foi realizada" ;; esac