alterar o menu para ser utilizado em função [RESOLVIDO]

1. alterar o menu para ser utilizado em função [RESOLVIDO]

Jonas do Nascimento Lemes
jonasnl

(usa Debian)

Enviado em 13/09/2018 - 10:53h

Estou fazendo um projeto no meu curso , onde eu sou responsável pelo menu , eu fiz ele , porém eu quero algo mais bonito utilizando as funções , segue o que eu fiz por enquanto:
x="teste"

menu ()

{

while true $x != "teste"

do

clear

echo "================================================"

echo ""

echo "Criado por: X-X"

echo ""

echo "1)Criar um usúario."

echo ""

echo "2)Remover um usúario."

echo ""

echo "3)Listar usúarios criados."

echo ""

echo "4) Mudar senha de usuario."

echo ""

echo "5)"

echo ""

echo "6)"

echo ""

echo "7)Sair do programa"

echo ""

echo "================================================"



echo "Digite a opção desejada:"

read x

echo "Opção informada ($x)"

echo "================================================"



case "$x" in





1)

echo "Adicionar usuário: "

read addusuario

useradd $addusuario

echo "senha do usuario $usuario: "

passwd $addusuario

sleep 2





echo "================================================"

;;

2)

echo "Informe o nome do pacote para ser removido?"

read nome

apt-get remove --purge $nome

sleep 5

echo "================================================"

;;

3)

echo "Atualizando sistema..."

apt-get update

sleep 5

echo "================================================"

;;

4)

echo "Nome do usuario:"

read $usuario

echo "senha do usuario $usuario: "

passwd $usuario

echo "================================================"

;;

5)

echo "Corrigindo erros..."

apt-get autoremove

sleep 5

echo "================================================"

;;

6)

echo "Reparando..."

dpkg --configure -a

sleep 5



echo "================================================"

;;

7)

echo "saindo..."

sleep 5

clear;

exit;

echo "================================================"

;;



*)

echo "Opção inválida!"

esac

done



}

menu
preciso alterar ele utilizando as funções , quem poder me ajudar , sou novato nisso .


  


2. Re: alterar o menu para ser utilizado em função [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 13/09/2018 - 13:22h

Mais bonito como? Com gráficos? Uma coisa simples q dá pra fazer é usar o dialog. Ele vai desenhar na tela o q vc desejar, acho q é isso q vc tá procurando.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


3. Re: alterar o menu para ser utilizado em função [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/09/2018 - 15:13h

jonasnl escreveu:

Estou fazendo um projeto no meu curso , onde eu sou responsável pelo menu , eu fiz ele , porém eu quero algo mais bonito utilizando as funções , segue o que eu fiz por enquanto:
preciso alterar ele utilizando as funções , quem poder me ajudar , sou novato nisso .


Boa tarde Jonas.
Segue uma sugestão de "MENU".
Ele fica "centralizado" na tela.
Caso altere o tamanho da tela, a OPÇãO "7", centraliza e altera a cor do MENU.


#!/bin/bash

CVA="\x1B[0;38;5;196m"
FC="\x1B[m"
CE="\x1B[0;38;5;11m"

PCM() { PROMPT ; clear ; PMENU ; }

PROMPT() { printf "${CE}\e[18;$(( ($(tput cols)-46 )/2+1))f<< PRESSIONE QUALQUER TECLA PARA CONTINUAR >>${FC}" ; read -e -n1 PRMPT ; local PRMPT ; }

PMENU() { GERACOR;COLS;}

MENU() {
tput clear
printf "${CE}\e[2;${POS2}f----------------------------------------"
printf "\e[3;${POS1}f------------------ MENU ------------------"
printf "\e[4;${POS}f---\e[4;${POS3}f---"
printf "\e[5;${POS}f---${CSM} [1] Cadastrar [2] Listar ${CE}---"
printf "\e[6;${POS}f---${CSM} [3] Remover [4] Alterar ${CE}---"
printf "\e[7;${POS}f---${CSM} [5] Opção 5 [6] Opção 6 ${CE}---"
printf "\e[8;${POS}f---${CSM} [7] Cor Menu [8] Exit ${CE}---"
printf "\e[9;${POS}f---\e[9;${POS3}f---"
printf "${CE}\e[10;${POS1}f------------------------------------------"
printf "\e[11;${POS2}f----------------------------------------\n\n"$FC""
read -p " OPÇãO: " -n1 OPC

case "$OPC" in
1) FUNÇãO_01 ;;
2) FUNÇãO_02 ;;
3) FUNÇãO_03 ;;
4) FUNÇãO_04 ;;
5) echo -e "\n Criar FUNÇãO_05\n"; PCM ;;
6) echo -e "\n Criar FUNÇãO_06\n"; PCM ;;
7) echo -e "\n${CE} Centraliza e altera a cor do MENU${FC}"; sleep 1 ; PMENU ;;
8) echo -e "\n\n Saindo...\n";sleep 0.5; exit ;;
*) MSGM ; PMENU ;;
esac
}


COLS() {
COLS=$(tput cols)
POS=$(((COLS-44)/2+1))
POS1=$((POS+1))
POS2=$((POS+2))
POS3=$((POS2+39))
(($COLS>=44)) && MENU || { echo -e "$CVA AJUSTE A TELA!\n No MÍNIMO 44 Colunas $FC" ; PCM ; }
}

GERACOR() {
local cnt=$((1+RANDOM%31));local atb=$((RANDOM%2));
CSM="\e["$atb";38;5;"$cnt"m"
}

MSGM() { echo -e "$CVA\n\n \" OPÇãO INVáLIDA! \" $FC" ; sleep 1.25 ; }

FUNÇãO_01() {
echo -e "${CSM}\n ESTÁ é a FUNÇãO ${OPC}:\n COLOQUE AQUI OS COMANDOS QUE DESEJA EXECUTAR.\n ESSAS MENSAGENS SÃO SOMENTE PARA TESTES . . . :) ${FC}"
PCM
}

FUNÇãO_02() {
echo -e "${CSM}\n ESTÁ é a FUNÇãO ${OPC}:\n COLOQUE AQUI OS COMANDOS QUE DESEJA EXECUTAR.\n ESSAS MENSAGENS SÃO SOMENTE PARA TESTES . . . :) ${FC}"
PCM
}

FUNÇãO_03() {
echo -e "${CSM}\n ESTÁ é a FUNÇãO ${OPC}:\n COLOQUE AQUI OS COMANDOS QUE DESEJA EXECUTAR.\n ESSAS MENSAGENS SÃO SOMENTE PARA TESTES . . . :) ${FC}"
PCM
}

FUNÇãO_04() {
echo -e "${CSM}\n ESTÁ é a FUNÇãO ${OPC}:\n COLOQUE AQUI OS COMANDOS QUE DESEJA EXECUTAR.\n ESSAS MENSAGENS SÃO SOMENTE PARA TESTES . . . :) ${FC}"
PCM
}

PMENU


Marcelo Oliver


4. Re: alterar o menu para ser utilizado em função [RESOLVIDO]

Jonas do Nascimento Lemes
jonasnl

(usa Debian)

Enviado em 14/09/2018 - 07:53h

renato_pacheco escreveu:

Mais bonito como? Com gráficos? Uma coisa simples q dá pra fazer é usar o dialog. Ele vai desenhar na tela o q vc desejar, acho q é isso q vc tá procurando.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh

olha o objetivo é só ter um menu , mas se fizer com um gráfico , não for muito complexo, ótimo.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts