LAÇOS NO SHELL DO LINUX
OBS: Operadores Lógicos ao final da página.
=============================================================================================================
(( x=x+1 )) -> Usamos os colchetes para fazer cálculos.
ou ((x++))
[ $x -le 10 ] -> Usado para comparações dentro de estruturas de Laço.
ou
while test $c -le 5 -> Usamos o test para comparar o conteúdo de uma variável.
=============================================================================================================
=============================================================================================================
Faremos três tipos de laços usando a estrutura WHILE DO DONE
=============================================================================================================
1º Estrutura.
clear
c=1
while [ $c -le 5 ]; do
echo “ $c ”
(( c++ ))
done
=============================================================================================================
=============================================================================================================
2º Estrutura.
clear
c=1
while test $c -le 5
do
echo “ $c ”
(( c++ ))
done
=============================================================================================================
=============================================================================================================
3º Estrutura.
clear
c=1
while test $c -le 20
do
echo “ $c”
(( c=c+2 ))
done
=============================================================================================================
Fazendo um salto de 2 em 2 e pegando somente os números pares
compreendidos de 2 até 20.
clear
c=0
while test $c -le 20
do
echo “ $c ”
(( c=c+2 ))
done
=============================================================================================================
=============================================================================================================
Estrutura for
=============================================================================================================
1º Estrutura.
clear
c=1
for var in 1 2 3 4 5;
do
echo “ $var ”
done
=============================================================================================================
2º Estrutura.
clear
c=1
for var in $(seq 10);
do
echo “ $var ”
done
=============================================================================================================
3º Estrutura.
clear
c=1
for var in $(seq 1 10);
do
echo “ $var ”
done
=============================================================================================================
4º Estrutura.
clear
c=1
for var in $(seq 1 2 10);
do
echo “ $var ”
done
=============================================================================================================
=============================================================================================================
Opções do comando test ou [
Comparação Numérica
-lt É menor que (LessThan)
-gt É maior que (GreaterThan)
-le É menor igual (LessEqual)
-ge É maior igual (GreaterEqual)
-eq É igual (EQual)
-ne É diferente (NotEqual)
Comparação de Strings
= É igual
!= É diferente
-n É não nula
-z É nula
Operadores Lógicos
! NÃO lógico (NOT)
-a E lógico (AND)
-o OU lógico (OR)
Testes em arquivos
-b É um dispositivo de bloco
-c É um dispositivo de caractere
-d É um diretório
-e O arquivo existe
-f É um arquivo normal
-g O bit SGID está ativado
-G O grupo do arquivo é o do usuário atual
-k O sticky-bit está ativado
-L O arquivo é um link simbólico
-O O dono do arquivo é o usuário atual
-p O arquivo é um named pipe
-r O arquivo tem permissão de leitura
-s O tamanho do arquivo é maior que zero
-S O arquivo é um socket
-t O descritor de arquivos N é um terminal
-u O bit SUID está ativado
-w O arquivo tem permissão de escrita
-x O arquivo tem permissão de execução
-nt O arquivo é mais recente (NewerThan)
-ot O arquivo é mais antigo (OlderThan)
-ef O arquivo é o mesmo (EqualFile)
=============================================================================================================
=============================================================================================================
Programa para mostrar os números impares compreendidos entre 30 e 90.
clear
x=31
while test $x -le 90
do
echo "Valor de x : $x"
(( x=x+2 ))
done