Treinamento de script [RESOLVIDO]

1. Treinamento de script [RESOLVIDO]

ANTONIO CARLOS DA SILVA GONÇALVES
ancasigo

(usa Fedora)

Enviado em 15/06/2009 - 03:19h

Eu estou treinando a utilização do shell script na criação de uma agenda, mas eu estou com uma dúvida para fazer com que após o cadastro de um nome eu possa ter a opção de continuar cadastrando sem sair dessa tela. Estou tentando colocar "if" mas não deu certo. Estou colocando o script que estou fazendo se alguem puder me dar uma ajuda eu fico agradecido.



#!/bin/bash

principal () {

echo ""
echo ""
echo " Cadastro de Alunos"
echo ""
echo ""
echo " 1) Cadastro de Alunos"
echo " 2) Editar cadastro"
echo " 3) Listar cadastro"
echo " 4) Localizar cadastro"
echo " 5) Apagar cadastro"
echo " 6) Excluir arquivo"
echo " s) Sair"
echo ""
echo " Opção:"
read opt
clear

case $opt in
1) adicionar ;;
2) editar ;;
3) listar ;;
4) locali ;;
5) apagar ;;
6) formatar ;;
s) clear ;;
*) principal ;;
esac
}

adicionar () {
echo "Nome:"; read nome
echo "Sobrenome:"; read snome
echo "Endereço:"; read acess
echo "Tel Res:"; read tel
echo "Cel:"; read cel
echo "Tel Contato:"; read cont
echo "Nome:$nome Sobremome:$snome Endereço:$acess Tel Res:$tel Cel:$cel Tel Contato:$cont" >> relacao
echo "Deseja continuar adicionando nomes?"
read next
if [ $next -eq s]; then
adicionar
fi;
clear
principal
}
clear
principal


  


2. MELHOR RESPOSTA

Marcio Borges
marcio_cb

(usa OpenSuSE)

Enviado em 15/06/2009 - 21:46h

Boa Noite

Acho que assim vai funcionar

adicionar () {
next="s"
while [ $next = "s" ]; do
echo "Nome:"; read nome
echo "Sobrenome:"; read snome
echo "Endereço:"; read acess
echo "Tel Res:"; read tel
echo "Cel:"; read cel
echo "Tel Contato:"; read cont
echo "Nome:$nome Sobremome:$snome Endereço:$acess Tel Res:$tel Cel:$cel Tel Contato:$cont" >> relacao
read -p "Deseja continuar adicionando nomes? " next
done
clear
principal
}

[]s

Marcio

3. Re: Treinamento de script [RESOLVIDO]

Walter gomes dos santos junior
spam

(usa Ubuntu)

Enviado em 15/06/2009 - 08:23h

É só você retirar o ";" do if tipo:

if [ $next -eq s] then
adicionar
fi


4. Re: Treinamento de script [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 15/06/2009 - 11:35h

Só muda o final do IF

if [ $next -eq s]; then
adicionar
else
clear
principal
fi;
}
clear
principal







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts