script não funciona corretamente

Iniciado por jehxtreme, 03 de Abril de 2012, 13:02

tópico anterior - próximo tópico

jehxtreme

Ola sou novo aqui e gostaria da ajuda de vocês... montei um script porem ele não funciona corretamente, aparece o menu que criei porem as opções não funcionam...

o script é esse:

#!/bin/bash
Principal()
{
clear
echo "Menu"
echo "------------------------------------------"
echo "Opções:"
echo
echo "1. Listar diretorios"
echo "2. Mostrar os processos do sistema"
echo "3. Mostrar informações da memoria RAM"
echo "4. Mostrar informações detalhadas dos processos"
echo "5. Mostrar informações da CPU"
echo "6. Mostrar informações e usuarios logados"
echo "7. Sair"
echo
echo -n "Qual a opção desejada? "
read opcao

case $opcao in
1) Listar ;;
2) MostraProcesso ;;
3) MostrarEspaco ;;
4) Informacoes ;;
5) MostrarCPU ;;
6) MostarUsuarios ;;
7) exit ;;
*) echo "Opção desconhecida."; Principal ;;
esac
}


Listar()
{
read -p "Informe o diretorio que quer listar" dir
ls -lia $dir | less
echo "Pressione ENTER para continuar ..."
read _ENTER

Principal
}

MostraProcesso()
{
ps aux | more
echo "Pressione ENTER para continuar ..."
read _ENTER

Principal
}


MostrarEspaco()
{
free | more
echo "Pressione ENTER para continuar ..."
read _ENTER

Principal
}


Informacoes()
{
echo "Para sair pressione a tecla \"q\" "
top

Principal
}


MostrarCPU()
{
cat /proc/cpuinfo
echo "Pressione ENTER para continuar ..."
read _ENTER

Principal
}


MostrarUsuarios()
{
w
echo "Pressione ENTER para continuar ..."
read _ENTER

Principal
}
Principal()


Se alguem puder me ajudar...

Kriptolix

voce nao disse que erro ocorre, mas enfim, na ultima chamada da funçao Principal() voce colocou os parenteses, nao deveria ter colocado pois se chamou a funçao o faz sem eles. de resto parece estar tudo correto.
Ubuntu Linux 10.10

bred81

Pois é, tira o parênteses no final...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

raidicar

Além dos parenteses tem outros dois erros:
6) MostarUsuarios ;;
# Erro de sintaxe nessa função.


*) echo "Opção desconhecida."; Principal ;;

# Aqui a mensagem não aparece, precisa de uma pausa, mais ou menos assim:
*) clear;echo;echo "Opção desconhecida."; read pause; Principal ;;
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.