Caselle di messaggi della GUI o caselle di messaggi visualizzate all'interno del terminale.
Sarebbe anche interessante poter ottenere un semplice input dall'utente, ad es. Sì / no o pulsanti di opzione.
Caselle di messaggi della GUI o caselle di messaggi visualizzate all'interno del terminale.
Sarebbe anche interessante poter ottenere un semplice input dall'utente, ad es. Sì / no o pulsanti di opzione.
Risposte:
Per una "casella attorno a un messaggio" standard, utilizzare boxes:
echo 'This is a test' | boxes
boxessarà simile a questo (il primo. Il secondo è un tipo personalizzato cowsay):

Se intendi una casella di avviso, utilizza notify-send:
notify-send 'title' 'message'
notify-send Somiglia a questo:

È inoltre possibile utilizzare zenityper una finestra popup:
zenity --error --text="An error occurred\!" --title="Warning\!"
Zenity è più grafico e ha più opzioni, come far apparire la finestra come una domanda, usando:
zenity --question --text="Do you wish to continue/?"
o persino barre di avanzamento, usando:
find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."
zenity Somiglia a questo:

O utilizzare dialog, per una finestra di messaggio solo da riga di comando:
dialog --checklist "Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off
dialog Somiglia a questo:

Un'altra opzione è whiptail:
whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78
whiptail Somiglia a questo:

E se sei veramente pazzo, usa toilet:
toilet -F border -F gay "CRAZY"
toilet Somiglia a questo:

zenityuna volta al mese nel reparto aggiornamento e aggiornamento ...
xmessage
Questo è il nonno degli avvisi della GUI:
xmessage -center "Hello, World!"

Pura bontà retrò.
Scommetto anche che dovrebbe essere ampiamente disponibile sui sistemi X11.
Discussione SO: Come mostrare una finestra di messaggio della GUI da uno script bash in Linux? | Stack Overflow
Testato su Ubuntu 18.04.
xmessageè persino installato su Ubuntu Server per impostazione predefinita. Quindi posso usare ssh -Y <host> per accedere alla macchina mentre inoltro x connessioni e quindi eseguire some-command; xmessage "some-command is done"per visualizzare una notifica sul mio desktop al termine del comando di lunga durata.
xmessage -timeout 10 "Goodbye in 10s!".
E poi solo perché @ polym è completamente al di sopra della risposta più alta del classico messaggio:
write <username> [<terminal>]- invia un messaggio a un altro utente. O interattivamente o come parte di una pipe conecho "message" | write username

E il complemento da scrivere, wallper inviare un messaggio a tutti gli utenti

Se sei disposto a reindirizzare il testo a un wrapper Python, puoi utilizzare terminaltables:
pip3 install colorclass
pip3 install terminaltables
Quindi in GitHub Repo , puoi usare uno degli esempi per scrivere un wrapper Python.