shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Script de menu nao chama a funcao menu


From: Christian Andreas Miniero Casza
Subject: Re: [shell-script] Script de menu nao chama a funcao menu
Date: Wed, 04 Apr 2007 20:35:06 -0300
User-agent: Opera Mail/9.10 (Linux)

André,

crie um "while", por exemplo "while [ $OPC -ne 6 ]; do ...; done", e chame a função MENU, seguida do "read" e do "case" dentro dele. Assim, só sairá do laço caso a opção seja sair, nesse caso 6.

On Wed, 04 Apr 2007 20:26:00 -0300, André Miranda <address@hidden> wrote:

Senhores,

tenho um script que nao executa a funcao menu dentro de outra funcao,
quando chamo uma opcao ele devolve as informacoes e sai do sistema. Eu
gostaria que ele retorna-se para o menu principal, faço isso com o
case, mas gostaria que funcionasse tambem com uma função. Segue anexo
o script:

#!/bin/bash
# Criando o menu:
MENU()
{
echo "O que voce deseja fazer?"
echo "Escolha um numero:"
echo

echo "1.  Cadastrar Usuario"
echo "2.  Remover Usuario"
echo "3.  Listar Usuarios"
echo "4.  Listar Grupos"
echo "5.  Conexoes Ativas"
echo "6.  Sair"
echo
}

# Executando o menu:

MENU

# Criando as funcoes

SAIR()
{
clear
echo
echo
echo '+ ----------------------------------------------------------- + ' echo '| "Ninguem e insubstituivel, porem, | ' echo '| ninguem deve ser tratado como se fosse descartavel." | ' echo '| | ' echo '+ ----------------------------------------------------------- + '
echo
echo
exit
}
CADASTRO()
{
echo
echo 'Digite o nome: '
read NOME
useradd $NOME
echo "$NOME cadastrado com sucesso"
sleep 3
MENU
}

DELETAR()
{
echo "Digite o nome do usuario a deletar: "
read NOME
userdel -r $NOME
sleep 2
echo "Usuario removido com sucesso"
sleep 3
MENU
}

LUSU()
{
echo "Listando os usuarios cadastrados: "
cat /etc/passwd | cut -d: -f1 | less
echo "Quantidade de Usuarios cadastrados: `cat /etc/passwd | cut -d:
-f1 | wc -l`"
MENU
}
LGRP()
{
echo "Listando os grupos cadastrados: "
cat /etc/group
sleep 2
MENU
}

CONEXOES()
{
echo "Conexoes ativas ..."
netstat -nat
sleep 3
MENU
}

# Pegando a resposta do MENU e fazendo um case:
read OPC

case $OPC in

1) CADASTRO;;
2) DELETAR;;
3) LUSU;;
4) LGRP;;
5) CONEXOES;;
6) SAIR;;
*) echo "opçao invalida"
esac



--
Christian Andreas Miniero Casza
Administrador de Sistemas
address@hidden
address@hidden
+55 11 8173-7882
+55 11 5643-7846


reply via email to

[Prev in Thread] Current Thread [Next in Thread]