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

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

Script de menu nao chama a funcao menu


From: André Miranda
Subject: Script de menu nao chama a funcao menu
Date: Wed, 4 Apr 2007 20:26:00 -0300

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


reply via email to

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