Parâmetros de comparação de arquivos
Parâmetros de comparação de strings (texto)
Parâmetros de comparação numérica
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 |
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 |
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 -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 |
-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 |
= | 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 |
-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 |
[ condição ] || [ condição ] |
[ 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