Pratica 07 Shell
Pratica 07 Shell
Objetivo da Prática:
● Exercitar a prática de Shell Scripts
Script 1:
#!/bin/bash
Script 2:
#!/bin/bash
Script 3:
#!/bin/bash
for i in *
do
echo $i
sleep 1
done
Script 4:
#!/bin/bash
Script 5:
#!/bin/bash
Script 6:
#!/bin/bash
inicio=1
fim=10
while [ $inicio -lt $fim ]
do
echo "Valor inicial é menor que o final: $inicio $fim"
inicio=$((inicio+1))
done
echo "Valor inicial é igual ao valor final: $inicio $fim"
Script 7:
#!/bin/bash
arq=$1
i=0
echo " ------------- Inicio do arquivo. ------------- "
cat $arq | while read LINE
do
i=$((i+1))
echo "Linha $i: $LINE"
done
echo " ------------- Final do arquivo. ------------- "
Script 8:
#!/bin/bash
if [ -f $1 ]; then
echo "Arquivo encontrado"
else
echo "Arquivo nao encontrado"
fi
if [ -d $1 ]; then
echo "Diretorio existe"
else
echo "Diretorio nao existe ou nao encontrado"
fi
Script 9:
#!/bin/bash
Script 10:
#!/bin/bash
Script 11:
#!/bin/bash
HORA=$(date +%H)
if [ $HORA -lt 12 ]
then
echo Bom dia
elif [ $HORA -lt 18 ]; then
echo Boa tarde
else
echo Boa noite
fi
Script 12:
#!/bin/bash
#!/bin/bash
if [ ! -d casa ]; then
mkdir casa ; cd casa ; touch casa1 casa2 casa3
fi
for original in *; do
resultado=$(echo $original | tr '[:lower:]' '[:upper:]')
if [ ! -e $resultado ]; then
mv $original $resultado
fi
done
Experimente uma entrada com várias letras a para verificar a diferença entre /
e //;
e) No seguinte script é feita uma função readline que lê uma string. Digite o
exemplo a seguir e teste o funcionamento do script:
#!/bin/bash
readline () {
echo "readline..."
msg=""
if [ $# -gt 0 ]; then
msg="$*: "
fi
str=""
while [ -z $str ]; do
echo -n $msg
read str
done
STR=$str
}
readline "Teste"
echo "Lido: " $STR
IV – Vetores (Arrays):
O shell permite a utilização de variáveis do tipo Array (Vetor). O item a) está
apenas exemplificando não precisa testar e salvar.
#!/bin/bash
i=0
while [ $i -le 5 ]; do
num[i]=$RANDOM
echo "Número : $i ${num[i]}"
i=$(( $i + 1 ))
done
c) Um while deste tipo pode ser escrito de maneira mais familiar com a seguinte
sintaxe alternativa, mais adequada para ciclos iterativos;
Exemplo: o seguinte script gera 6 números aleatórios entre 1 e 20: (Digite e
teste)
#!/bin/bash
#!/bin/bash