Como criar uma caixa de mensagem a partir da linha de comando?

46

Caixas de mensagens GUI ou caixas de mensagens que aparecem dentro do terminal.

Também seria interessante conseguir uma entrada simples do usuário, por exemplo, sim / não ou botões de rádio.

    
por user62511 16.07.2014 / 20:41

4 respostas

90

Para uma "caixa padrão ao redor de uma mensagem", use boxes :

echo 'This is a test' | boxes

boxes terá esta aparência (Primeiro um. O segundo é um costume como cowsay ):

Sevocêquerdizerumacaixadealerta,usenotify-send:

notify-send'title''message'

notify-sendéassim:

Você também pode usar zenity para uma janela pop-up:

zenity --error --text="An error occurred\!" --title="Warning\!"

O Zenity é mais gráfico e tem mais opções, como ter a janela como pergunta, usando:

zenity --question --text="Do you wish to continue/?"

ou até mesmo barras de progresso, usando:

find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."

zenity é assim:

Ouusedialog,paraumacaixademensagemsomentedelinhadecomando:

dialog--checklist"Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off

dialog é assim:

Outraopçãoéwhiptail:

whiptail--title"Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78

whiptail é assim:

Esevocêforrealmentelouco,usetoilet:

toilet-Fborder-Fgay"CRAZY"

toilet é assim:

leituradecaixadetextocolorida"CRAZY"

por 16.07.2014 / 20:43
19

xmessage

Este é o avô dos alertas da GUI:

xmessage -center "Hello, World!"

Bondade retro pura.

Eu também aposto que deve estar amplamente disponível em sistemas X11.

SO thread: Como mostrar uma caixa de mensagem GUI de um script bash no linux? | Estouro de pilha

Testado no Ubuntu 18.04.

    
por 26.08.2016 / 21:53
7

E, em seguida, só porque @ polym respondeu completamente por cima, perdeu a mensagem clássica:

write <username> [<terminal>] - envia uma mensagem para outro usuário. Interativamente ou como parte de um canal com echo "message" | write username

Eocomplementoparaescrever,wallparaenviarumamensagemparatodososusuários

    
por 17.07.2014 / 00:13
0

Se você estiver disposto a enviar o texto para um wrapper do Python, use terminaltables :

pip3 install colorclass
pip3 install terminaltables

Em seguida, no GitHub Repo , você pode usar um dos exemplos para escrever um wrapper do Python.

    
por 10.01.2018 / 13:15