Published using Google Docs
if
Updated automatically every 5 minutes

Controle de fluxo IF

else

elif

test

Parâmetros de comparação de arquivos

Parâmetros de comparação de strings (texto)

Parâmetros de comparação numérica

Operadores lógicos: AND e OR

OR

AND

Controle de fluxo IF

if comando

then

     comandos

fi

#!/bin/bash

#Exemplo do uso do if-then

if ls Documentos

then

       echo "Esta é a listagem do diretório Documentos"

fi

else

if condição

then

     comandos

else

     outros comandos

fi

#!/bin/bash

# Exemplo do uso do if-then-else

if ls Documentos

then

       echo "Esta é a listagem do diretório Documentos"

else

       echo "Não foi possível encontrar o diretório Documentos"

fi

elif

if condição1

then

     comandos  

elif condição2        

then

     comandos  

elif condição3

then

     comandos

else

     comandos      

fi

#!/bin/bash

# Exemplo do uso do if-then-elif-else

if ls Documentos

then

       echo "Esta é a listagem do diretório Documentos"

elif ls Downloads

then

       echo "O diretório Documentos não foi encontrado."

       echo "Esta é a listagem do diretório Downloads."

else

       echo "Não foi possível encontrar nenhum dos diretórios."

fi

test

$ test -d /etc

$ echo $?

0

if test condição

then

     comandos

fi

#!/bin/bash

echo "Digite um caminho para testar se é diretório:"

read caminho

if test -d $caminho; then

     echo "$caminho é um diretório"

else

     echo "$caminho não é um diretório"

fi

$ if test -d /etc; then echo "É um diretório"; fi

É um diretório

$ if [[ -d /etc ]]; then echo "É um diretório"; fi

É um diretório

Parâmetros de comparação de arquivos

-b

Dispositivo de bloco

-c

Dispositivo de caractere

-d

Diretório

-e

arquivo existente

-f

arquivo normal

-G

se o grupo padrão do arquivo for o mesmo do usuário atual

-L

link simbólico

-nt

se arquivo1 é mais novo que arquivo2

-O

dono do arquivo

-ot

se arquivo1 é mais antigo que arquivo2

-r

permissão de leitura

-s

tamanho maior que 0

-w

permissão de escrita

-x

permissão de execução

#!/bin/bash

if [ ! -f $1 ]

then

   errmsg="$1: File Not Found"

   echo $errmsg

   exit

fi

#!/bin/bash

echo "Digite o nome do arquivo:"

read arquivo

echo "Você digitou $arquivo"

sleep 3

if [ -e $arquivo ]

then

     echo "O arquivo $arquivo existe"

else

     echo "O arquivo $arquivo não existe"

fi  

#!/bin/bash

echo "Digite o nome do arquivo:"

read arquivo

echo "Você digitou $arquivo"

sleep 3

if [ -e $arquivo ]

then

echo "O arquivo $arquivo existe"

if [ -w $arquivo ]

then

echo "Permissão de escrita"

else

echo "Não possui permissão de leitura"

fi

else

echo "O arquivo $arquivo não existe"

fi  

#!/bin/bash

# Comparando arquivos com -nt

arquivo1=textos.txt

arquivo2=exercicios.txt

if [ $arquivo1 -nt $arquivo2 ]

then

echo "O $arquivo1 é mais novo que o $arquivo2"

else

echo "O $arquivo1 não é mais novo que o $arquivo2"

fi  

Parâmetros de comparação de strings (texto)

=

igual

!=

diferente

-n

não é vazia

-z

vazia

#!/bin/bash

# Testando os parâmetros

cor=verde

if [ $cor = azul ]

then

       echo "A cor é azul"

elif [ $cor != azul ]

then

       echo "A cor é diferente de azul, a cor é $cor"

fi

#!/bin/bash

valor=estudo

if [ -n $valor ]

then

       echo "o valor não é nulo, é $valor"

else

       echo "o valor é nulo"

fi

#cat confirmavariavel.sh

#!/bin/bash

numero=""

echo "Digite um número se quiser. Você tem 5 segundos..."

read -t5 numero

if [ -z $numero ]; then

echo "Você não digitou nada"

else

echo "Você digitou $numero"

fi

#!/bin/bash

valor=''

if [ -z $valor ]

then

       echo "o valor é nulo"

else

       echo "o valor não é nulo, é $valor"

fi

Parâmetros de comparação numérica

-eq

(equal) igual

-gt

(greater) maior

-ge

(greater or equal) maior ou igual

-lt

(less than) menor

-le

(less or equal) menor ou igual

-ne

(not equal) diferente

$ valor1=10

$ valor2=15

$ if [ "$valor1" -eq "$valor2" ]

> then

> echo "As variáveis são iguais"

> else

> echo "As variáveis são diferentes"

> fi

echo "Digite um número:"

read numero

if [ $numero -ne 0 ]; then

echo "Esse número não é zero"

else

echo "Esse número é zero"

fi

#!/bin/bash

# Exemplo de uso do elif

valor=9

if [ $valor -eq 10 ]

then

 echo "O número é 10"

elif [ $valor -gt 10 ]

then

 echo "O número é maior que 10"

else

 echo "O número é menor que 10"

fi

#!/bin/bash

# Testando os parâmetros

valor1=10

valor2=15

if [ "$valor1" -ge "$valor2" ]

then

echo "O $valor1 é maior ou igual ao $valor2"

elif [ "$valor1" -lt "$valor2" ]

then

echo "O $valor1 é menor ou igual ao $valor2"

fi

#cat procurauser.sh

#!/bin/bash

echo "Digite o nome do usuário:"

read nome

echo "Procurando $nome..."

who | grep $nome

if [ $? -eq 0 ]; then

echo "$nome foi encontrado"

else

echo "$nome não foi encontrado"

fi

#cat caraoucoroa.sh

#!/bin/bash

MOEDA="$((RANDOM %2))"

if [ $MOEDA -eq 0 ]

then

echo "Resultado: Cara"

else

echo "Resultado: Coroa"

fi

Operadores lógicos: AND e OR

OR

[ condição ] || [ condição ]

AND

[ condição ] && [ condição ]

$ A=Angela

$ B=Gustavo

$ if [[ $A == Angela ]] && [[ $B == Gustavo ]]

> then

> echo Verdadeiro

> else

> echo Falso

> fi

Verdadeiro

#!/bin/bash

arquivo=textos.txt

if [ -f $arquivo ] && [ -s $arquivo ]

then

echo "$arquivo é um arquivo e possui o seguinte conteúdo:"

sleep 2

cat $arquivo

else

echo "Não foi dessa vez"

fi


Logicus Tecnologia de Informação e Comunicação http://logicus.com.br atendimento@logicus.com.br