[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Ajuda Urgente com FOR [RESOLVIDO]
From: |
Rafael Tomelin |
Subject: |
Ajuda Urgente com FOR [RESOLVIDO] |
Date: |
Tue, 2 Jun 2009 13:41:39 -0300 |
Olá pessoal,
Consegui resolver o meu problema da seguinte forma:
#!/bin/bash
#Define as variaveis
variavel=1
valor=1
DADOS="/dados/"
#Verifica a condição
while [ $variavel = $valor ]; do
#Conta quanto caracteres a variavel valor tem
cont=`expr length $valor`
#Se tiver 1 caracter, acrescenta 7 zeros na frente do numero
if [ $cont -eq 1 ]; then
zero=0000000
valor2=$zero$valor
mkdir $DADOS$valor2
chgrp -R clientes $DADOS$valor2
chmod -R 740 $DADOS$valor2
echo $DADOS$valor2
fi
#Se tiver 2 caracter, acrescenta 6 zeros na frente do numero
if [ $cont -eq 2 ]; then
zero=000000
valor2=$zero$valor
mkdir $DADOS$valor2
chgrp -R clientes $DADOS$valor2
chmod -R 740 $DADOS$valor2
echo $DADOS$valor2
fi
#Se tiver 3 caracter, acrescenta 5 zeros na frente do numero
if [ $cont -eq 3 ]; then
zero=00000
valor2=$zero$valor
mkdir $DADOS$valor2
chgrp -R clientes $DADOS$valor2
chmod -R 740 $DADOS$valor2
echo $DADOS$valor2
fi
#Se tiver 4 caracter, acrescenta 4 zeros na frente do numero
if [ $cont -eq 4 ]; then
zero=0000
valor2=$zero$valor
mkdir $DADOS$valor2
chgrp -R clientes $DADOS$valor2
chmod -R 740 $DADOS$valor2
echo $DADOS$valor2
fi
#Se tiver 5 caracter, acrescenta 3 zeros na frente do numero
if [ $cont -eq 5 ]; then
zero=000
valor2=$zero$valor
mkdir $DADOS$valor2
chgrp -R clientes $DADOS$valor2
chmod -R 740 $DADOS$valor2
echo $DADOS$valor2
fi
#Se tiver 6 caracter, acrescenta 2 zeros na frente do numero
if [ $cont -eq 6 ]; then
zero=00
valor2=$zero$valor
mkdir $DADOS$valor2
chgrp -R clientes $DADOS$valor2
chmod -R 740 $DADOS$valor2
echo $DADOS$valor2
fi
#Se tiver 7 caracter, acrescenta 1 zero na frente do numero
if [ $cont -eq 7 ]; then
zero=0
valor2=$zero$valor
mkdir $DADOS$valor2
chgrp -R clientes $DADOS$valor2
chmod -R 740 $DADOS$valor2
echo $DADOS$valor2
fi
#Se o valor for iagual 2000200, diminui 10000 para sair do loop
if [ $valor -eq 2000200 ]; then
valor=`expr $valor + 198765`
fi
#Soma a variavel +1, para continuar no loop
valor=$(($valor + 1))
variavel=$(($variavel+1))
done
[As partes desta mensagem que não continham texto foram removidas]
- Ajuda Urgente com FOR [RESOLVIDO],
Rafael Tomelin <=