Header Ads Widget

header ads

Shell script: Estruturas de repetição


 Estruturas de repetição: Utilizadas quando se deseja realizar uma  atividade de forma iterativa
» BASH script possui 3 estruturas de repetição:

for
while
until


O laço for
» Iterage sobre um lista de valores
Exemplo (exercicioFor1.sh)::

#!/bin/bash
for i in 1 2 3 4 5; do
   echo "Valor do i: $i "
done





Exemplo (exercicioFor2.sh):
#!/bin/bash
for i in $(seq 1 2 20); do
   echo "Valor do i: $i "
done


Exemplo (exercicioFor4.sh):
#!/bin/bash
for (( c=1; c<=5; c++ )); do
    echo "Valor do c: $c "
done


Exemplo (exercicioFor3.sh):
#!/bin/bash
for i in {1..5}; do
   echo "Valor do i: $i "
done




O laço while


» Permite executar uma lista comandos iterativamente, desde que uma pré­condição seja verdadeira


» Exemplo (exercicioWhile.sh):
#!/bin/bash
# Este script abre 3 terminais.
i="0"
while [ $i ­lt 3 ]; do
   xterm &
i=$[$i+1]
done


Exemplo (exercicioWhile2.sh):
#!/bin/bash
# Copia os arquivos de um diretório para outro, de hora em hora
DIRFONTE=/home/aluno/adsis/aulas77­78
DIRDESTINO=/tmp
while true; do
    DATE=`date +%Y%m%d`
HOUR=`date +%H`
mkdir $DIRDESTINO/"$DATE"
while [ $HOUR ­ne "00" ]; do
        DESTDIR=$DIRDESTINO/"$DATE"/"$HOUR"
mkdir "$DESTDIR"
mv $DIRFONTE/*.dat "$DESTDIR"/
sleep 3600
HOUR=`date +%H`
    done
done








O laço until
» Semelhante ao while, contudo, testa a condição no início da iteração


» Exemplo(exercicioUntil1.sh)
#!/bin/bash
VAR=0
until [ $VAR ­eq 10 ]
do
    echo $VAR
VAR=$(( $VAR + 1 ))
done







Postar um comentário

0 Comentários