Centralizar o script

1. Centralizar o script

Marco Capella
MarcoC

(usa Outra)

Enviado em 13/08/2020 - 15:05h

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.



  


2. Re: Centralizar o script

aguamole
aguamole

(usa KUbuntu)

Enviado em 13/08/2020 - 16:10h

O seu código tem muito "echo" reduza eles.

#!/bin/bash
P3rincipal() {
setterm -foreground white -background blue -store
clear
echo "
M E N U P R I N C I P A L "
___________________________________________________________________
___________________________________________________________________

Opções:

1. Primeiro item
2. Segundo item
3. Terceiro item
4. Sair para o prompt de Comando
5. Reiniciar
6. Desligar

Qual a opção desejada? "
etc . . .
}
etc ,etc e etc . . .

Esta vendo como fica melhor.

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


3. Re: Centralizar o script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 13/08/2020 - 18:24h


v se te serve >>> https://www.vivaolinux.com.br/script/Texto-colorido-e-centralizado




------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. Re: Centralizar o script

Marcelo Oliver
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&#9608; %02d &#9608;%b" "\e[1;38;05;${C}m" "$((n++))" "";echo " => \e[1;38;5;${C}m => ${cor[$C]}";echo -en "\e[m";done

&#9608; 01 &#9608; => \e[1;38;5;0m => Preto
&#9608; 02 &#9608; => \e[1;38;5;1m => Vermelho
&#9608; 03 &#9608; => \e[1;38;5;2m => Verde
&#9608; 04 &#9608; => \e[1;38;5;3m => Marrom
&#9608; 05 &#9608; => \e[1;38;5;4m => Azul
&#9608; 06 &#9608; => \e[1;38;5;5m => Magenta
&#9608; 07 &#9608; => \e[1;38;5;6m => Ciano
&#9608; 08 &#9608; => \e[1;38;5;7m => Gelo
&#9608; 09 &#9608; => \e[1;38;5;8m => Cinza
&#9608; 10 &#9608; => \e[1;38;5;9m => Rosa
&#9608; 11 &#9608; => \e[1;38;5;10m => Verde_Claro
&#9608; 12 &#9608; => \e[1;38;5;11m => Amarelo
&#9608; 13 &#9608; => \e[1;38;5;12m => Azul_Claro
&#9608; 14 &#9608; => \e[1;38;5;13m => Magenta_Claro
&#9608; 15 &#9608; => \e[1;38;5;14m => Ciano_Claro
&#9608; 16 &#9608; => \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
______________________________________________________________________


5. Re: Centralizar o script

Mauricio Ferrari
maurixnovatrento

(usa Slackware)

Enviado em 13/08/2020 - 22:28h


Ótimas opções. Uso as cores de modo mais simples. Acho melhor.

\033[1;31;43m - Letra vermelha com fundo amarelo, por exemplo.
___________________________________
Conhecimento não se Leva para o Túmulo.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts