script nao funciona... [RESOLVIDO]

1. script nao funciona... [RESOLVIDO]

jefferson
jehxtreme

(usa Ubuntu)

Enviado em 03/04/2012 - 11:37h

Ola pessoal sou novo aqui e gostaria de uma ajuda com um script, preciso fazer um script basico com um menu e informações do sistema e tal...

Fiz esse :

#!/bin/bash
Principal()
{
clear
echo "Menu Principal"
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 de 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 ;;
*) "Opção desconhecida." ; echo ; 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()
{
top
echo "Para sair pressione a tecla q"


Principal
}


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

Principal
}


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


Principal
}

Principal



Mais não funciona, poderiam me ajudar ?


  


2. Re: script nao funciona... [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 03/04/2012 - 11:44h

Coloque a sua função Principal() no final do script, pois a mesma chama outras funções que ainda não foram lidas no código.

Outro detalhe é vc corrigir o último ítem do seu Menu:

Troque esta linha

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


Por esta:

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


Boa sorte!


3. Re: script nao funciona... [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 03/04/2012 - 11:45h

Onde está dando o erro?


Execute seu script assim:

bash -x ./nome_script

Assim vc verá o que está acontecendo na execução do seu script e poderá encontrar o problema...


4. Re: script nao funciona... [RESOLVIDO]

jefferson
jehxtreme

(usa Ubuntu)

Enviado em 03/04/2012 - 11:59h

alexandregms escreveu:

Coloque a sua função Principal() no final do script, pois a mesma chama outras funções que ainda não foram lidas no código.

Outro detalhe é vc corrigir o último ítem do seu Menu:

Troque esta linha

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


Por esta:

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


Boa sorte!


Amigo não entendi a parte da que vc disse para colocar a função principal no final...
poderia editar e me mostrar como ficaria?

Sou muito leigo...


5. Re: script nao funciona... [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 03/04/2012 - 12:03h

Bom eu testei agora no ubuntu 10.04 e funcionou tranquilo


6. Re: script nao funciona... [RESOLVIDO]

jefferson
jehxtreme

(usa Ubuntu)

Enviado em 03/04/2012 - 12:06h

danniel-lara escreveu:

Bom eu testei agora no ubuntu 10.04 e funcionou tranquilo


Sim ele roda o menu, mais não "acha" as opções...




7. Re: script nao funciona... [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 03/04/2012 - 12:06h

Eu passei algumas dicas que poderiam funcionar, mas vc poderia debugar o script com "sh -x" como o rai3mb disse.

Poste para nós o erro que fica mais fácil de revolvermos o seu problema em específico!


8. Re: script nao funciona... [RESOLVIDO]

jefferson
jehxtreme

(usa Ubuntu)

Enviado em 03/04/2012 - 12:24h

Olhem o erro que aparece...

http://www.4shared.com/photo/gQcXUx0N/Captura_de_tela_em_2012-04-03_.html?




9. Re: script nao funciona... [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 03/04/2012 - 21:11h

Executa com o bash -x, assim vai ver onde está dando erro e caso não entender posta a saída que ajudamos..


10. Re: script nao funciona... [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 03/04/2012 - 22:54h

O que especificamente não funcionou? O menu não apareceu? executei aqui e ele apareceu, basta torná-lo executável: chmod +x arquivo.sh


11. Re: script nao funciona... [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 03/04/2012 - 23:11h

Salve o danado e faça alguns testes. Vai perceber que é o mesmo mas com alguns ajustes na usabilidade.


#!/bin/bash
# file: jefe_menu.sh
# name: Aplicativo que executa vários opções do sistema GNU/Linux
# author: jehxtreme aka Não tenho a menor ideia ;)
# version: alfa 0.2
# more:
# objetives: Utilitário de uso geral para coletar informações.
# ----------------------------------------------------------------------------#
# XXX: Indique detalhes importantes em locais do código como alerta.
# FIXME: Mostre pontos onde você sabe que tem problemas e precisa de ajustes.
# TODO: Faça anotações sobre o que precisa ser feito no ponto. Features.
# ----------------------------------------------------------------------------
# Roadmap e changelog:
# 01 - Funcionar menus.
# 02 - Novos melhoramentos na usabilidade.
# ----------------------------------------------------------------------------


function mostramenu()
{
clear
echo "===================================================================="
echo " Menu Principal"
echo "===================================================================="
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 de usuarios logados"
echo "7. Sair"
echo ""
if [ "$1" ]; then echo -n "Escolha a opção:" ; fi
}

function _menu()
{
clear
while true
do
mostramenu normal
read escolha
case "$escolha" in
1) Listar ;;
2) MostraProcesso ;;
3) MostrarEspaco ;;
4) Informacoes ;;
5) MostrarCPU ;;
6) MostarUsuarios ;;
7) Sair ;;
*) Desconhecida ;;
esac
done
}
function Sair()
{
clear
echo -e " Obrigado por usar o sistema $0 VOLTE SEMPRE !!! "
read -t 2
exit
}

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

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


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


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


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


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

function Desconhecida()
{
echo -n " Opção inválida o zé mané. Não sabe ler não é ? "
read -t 5
}

function main()
{
_menu # Menu principal
}

main "${@#}"

exit





Agora dormir zzzzzzzz

http://vivaolinux.com.br/topico/Off-Code-Cafe/Acordando-com-Led-Zeppelin/?pagina=16#188



12. Re: script nao funciona... [RESOLVIDO]

jefferson
jehxtreme

(usa Ubuntu)

Enviado em 04/04/2012 - 08:38h

AprendiNoLinux escreveu:

Salve o danado e faça alguns testes. Vai perceber que é o mesmo mas com alguns ajustes na usabilidade.


#!/bin/bash
# file: jefe_menu.sh
# name: Aplicativo que executa vários opções do sistema GNU/Linux
# author: jehxtreme aka Não tenho a menor ideia ;)
# version: alfa 0.2
# more:
# objetives: Utilitário de uso geral para coletar informações.
# ----------------------------------------------------------------------------#
# XXX: Indique detalhes importantes em locais do código como alerta.
# FIXME: Mostre pontos onde você sabe que tem problemas e precisa de ajustes.
# TODO: Faça anotações sobre o que precisa ser feito no ponto. Features.
# ----------------------------------------------------------------------------
# Roadmap e changelog:
# 01 - Funcionar menus.
# 02 - Novos melhoramentos na usabilidade.
# ----------------------------------------------------------------------------


function mostramenu()
{
clear
echo "===================================================================="
echo " Menu Principal"
echo "===================================================================="
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 de usuarios logados"
echo "7. Sair"
echo ""
if [ "$1" ]; then echo -n "Escolha a opção:" ; fi
}

function _menu()
{
clear
while true
do
mostramenu normal
read escolha
case "$escolha" in
1) Listar ;;
2) MostraProcesso ;;
3) MostrarEspaco ;;
4) Informacoes ;;
5) MostrarCPU ;;
6) MostarUsuarios ;;
7) Sair ;;
*) Desconhecida ;;
esac
done
}
function Sair()
{
clear
echo -e " Obrigado por usar o sistema $0 VOLTE SEMPRE !!! "
read -t 2
exit
}

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

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


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


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


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


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

function Desconhecida()
{
echo -n " Opção inválida o zé mané. Não sabe ler não é ? "
read -t 5
}

function main()
{
_menu # Menu principal
}

main "${@#}"

exit






Agora dormir zzzzzzzz

http://vivaolinux.com.br/topico/Off-Code-Cafe/Acordando-com-Led-Zeppelin/?pagina=16#188


Cara muito obrigado!
De coração, você salvou minha vida!

Muito obrigado a todos que me ajudaram e responderam o topico!





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts