joao_vitorino
(usa Red Hat)
Enviado em 04/02/2014 - 11:55h
rai3mb escreveu:
* Como o Renato postou, o código apenas faria a pergunta novamente e sairia... não questionando novamente o caminho.
Segue minha recomendação (laço de repetição):
#!/bin/bash
RESP="N"
while [ $RESP == "N" -o $RESP == "n" ]
do
echo " Qual o Caminho para copia dos arquivos?"
read CAMINHO
echo " o caminho $CAMINHO está correto (S/N)?"
read RESP
done
#...continue
Assim a pergunta seria feita até que algo diferente de N ou n fosse informando.
rai3mb obrigado pela ajuda, mais ainda assim estou tendo dificuldades.
Coloquei o while como falou mas agora apresenta uma mensagem de erro de too many arguments na linha 90 ( a do while).
Resolvi postar o codigo todo do script que estou fazendo. Quero usar esse script para criar pastas em um servidor svn que tenho e para isso preciso editar um arquivo chamado authz.
segue o codigo
#!/bin/bash
AUTHZ='/home/joao/SVN/TESTE/conf/authz'
#Funcoes
function editauthz () {
#Pasta Raiz
echo "[/$NOME_PASTA]" >> $AUTHZ
echo "* =" >> $AUTHZ
echo "@grupo2 = rw" >> $AUTHZ
echo "@grupo3 = rw" >> $AUTHZ
#Pasta grupo1
echo "[/$NOME_PASTA/grupo1]" >> $AUTHZ
echo "* =" >> $AUTHZ
echo "@grupo2 = rw" >> $AUTHZ
echo "@grupo3 = rw" >> $AUTHZ
echo "@grupo5 = r" >> $AUTHZ
echo "@grupo1 = rw" >> $AUTHZ
#Pasta grupo5
echo "[/$NOME_PASTA/grupo5]" >> $AUTHZ
echo "* =" >> $AUTHZ
echo "@grupo2 = rw" >> $AUTHZ
echo "@grupo3 = rw" >> $AUTHZ
echo "@grupo4 = r" >> $AUTHZ
echo "@grupo5 = rw" >> $AUTHZ
echo "@grupo1 = r" >> $AUTHZ
}
function confirmapasta() {
read -n1 CONFIRMA
while [ $CONFIRMA == "n" -o $CONFIRMA == "N" ]
#while [[ $CONFIRMA =~ [Nn]$ ]]
do
informapasta
done
}
function informapasta () {
echo "Informe o Nome da pasta: "
read NOME_PASTA
echo "Criar diretorio na raiz do SVN (s/n) ?"
read -n1 RAIZ
if [[ $RAIZ =~ [Nn]$ ]]; then
echo ""
echo "Informe o caminho da(s) pastas(s) acima da pasta que deseja criar : /PASTA_RAIZ/PASTA1: "
read CAMINHO
echo ""
echo "Verifique se o caminho/nome da pasta estáorreto:"
echo "/$CAMINHO/$NOME_PASTA"
echo ""
echo "O nome da pasta /$CAMINHO/$NOME_PASTA esta correto (s/n) ?"
read -n1 CONFIRMA
fi
if [[ $RAIZ =~ [Ss]$ ]]; then
echo " "
echo "Informe o caminho da(s) pastas(s) acima da pasta que deseja criar : /PASTA_RAIZ/PASTA1: "
read CAMINHO
echo ""
echo "Verifique se o caminho/nome da pasta está correto:"
echo "/$NOME_PASTA"
echo ""
echo "O nome da pasta /$NOME_PASTA esta correto (s/n) ?"
read -n1 CONFIRMA
echo ""
fi
}
informapasta
confirmapasta
if [[ $CONFIRMA =~ [Ss]$ ]]; then
editauthz
else
informapasta
fi
Agradeço a ajuda de todos, to aprendendo ainda shell script e por isso prefiro fazer e depois perguntar onde foi que errei do que simplesmente pedir para alguém fazer o script para mim.