msoliver
(usa Debian)
Enviado em 13/08/2020 - 19:19h
MarcoC escreveu:
Ola
Com um script mais ou menos assim:
#!/bin/bash
P3rincipal() {
setterm -foreground white -background blue -store
clear
echo ""
echo " M E N U P R I N C I P A L "
echo "___________________________________________________________________"
echo "___________________________________________________________________"
echo ""
echo " Opções:"
echo ""
echo " 1. Primeiro item"
echo " 2. Segundo item"
echo " 3. Terceiro item"
echo " 4. Sair para o prompt de Comando"
echo " 5. Reiniciar"
echo " 6. Desligar"
echo
echo -n " Qual a opção desejada? "
etc . . .
}
etc ,etc e etc . . .
Tem como centralizar automaticamente a exibição, tanto num terminal de gui quanto no sistema lite (cli ?) ?
Desde ja,muito obrigado pela atenção de todos.
Boa noite Marco,
Segue um "Menu Que centraliza na tela".
#!/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[16;$(( ($(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 "Escolha uma Opção: " -n1 OPC
case "$OPC" in
1) echo -e "\nOpção escolhida: $OPC\n"; PCM ;;
2) echo -e "\nOpção escolhida: $OPC\n"; PCM ;;
3) echo -e "\nOpção escolhida: $OPC\n"; PCM ;;
4) echo -e "\nOpção escolhida: $OPC\n"; PCM ;;
5) echo -e "\nOpção escolhida: $OPC\n"; PCM ;;
6) echo -e "\nOpção escolhida: $OPC\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 ; }
PMENU
#End Of Script
Cores:
cor=(Preto Vermelho Verde Marrom Azul Magenta Ciano Gelo Cinza Rosa Verde_Claro Amarelo Azul_Claro Magenta_Claro Ciano_Claro Branco)
n=1;for C in {0..15};do printf "%b█ %02d █%b" "\e[1;38;05;${C}m" "$((n++))" "";echo " => \e[1;38;5;${C}m => ${cor[$C]}";echo -en "\e[m";done
█ 01 █ => \e[1;38;5;0m => Preto
█ 02 █ => \e[1;38;5;1m => Vermelho
█ 03 █ => \e[1;38;5;2m => Verde
█ 04 █ => \e[1;38;5;3m => Marrom
█ 05 █ => \e[1;38;5;4m => Azul
█ 06 █ => \e[1;38;5;5m => Magenta
█ 07 █ => \e[1;38;5;6m => Ciano
█ 08 █ => \e[1;38;5;7m => Gelo
█ 09 █ => \e[1;38;5;8m => Cinza
█ 10 █ => \e[1;38;5;9m => Rosa
█ 11 █ => \e[1;38;5;10m => Verde_Claro
█ 12 █ => \e[1;38;5;11m => Amarelo
█ 13 █ => \e[1;38;5;12m => Azul_Claro
█ 14 █ => \e[1;38;5;13m => Magenta_Claro
█ 15 █ => \e[1;38;5;14m => Ciano_Claro
█ 16 █ => \e[1;38;5;15m => Branco
Centralizando e Colorindo o texto passado como parâmetro
#!/bin/bash
clear;
cols=$(tput cols)
texto="$@";
size=${#texto}
pos=$(((cols-size)/2+1));
for ((n=0;n<16;n++));do
printf "\e[1;38;5;${n}m\e[$((n+1));${pos}f${texto}\e[m\n"
done
#End Of Script
Exemplo de Uso:
./teste.sh "Data: '$(date)'"
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________