Dicono che un'immagine vale più di mille parole, ecco perché prima di spiegarti qualcosa, ti mostrerò qual è il risultato del comando che metterò in seguito:
Notare come nell'angolo in alto a destra vediamo il giorno della settimana (Sole, Domenica), il mese (Dic), il giorno (22) così come l'ora, i minuti, i secondi e l'anno.
È qualcosa che viene aggiornato in tempo reale, cioè ogni secondo che le informazioni vengono aggiornate, e sarà sempre nell'angolo in alto a destra del terminale.
Questo è qualcosa di utile perché, possiamo modificare un file con nano o vi, possiamo installare qualsiasi tipo di servizio o gestire qualsiasi cosa, e non avremo bisogno di interrompere ciò che facciamo, eseguire data nel terminale per conoscere la data o tempo, con questo suggerimento che ti mostro, lo terremo sempre a mente.
Per ottenere ciò in un terminale, mettiamo quanto segue:
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &
Questo in quanto tale non è un semplice comando o istruzione, ma piuttosto un'unione di essi ... dai, potrebbe anche essere uno script. Spiegarlo è un po 'complesso, comunque farò del mio meglio 🙂
- mentre dormi 1; fai : Ciò significa che ogni secondo verrà eseguito quanto segue
- mettere sc : Significa che verrà salvata la posizione corrente, ovvero verrà salvata la posizione di ciò che verrà dopo, non sarà necessario specificarla una volta.
- tput tazza 0$ (($ (tput cols) -29)) : Può sembrare complicato, tuttavia, non è così difficile. Fondamentalmente questo è ciò che dice la posizione, cioè l'angolo in alto a destra. Il parametro cup specifica lo spazio verticale che esisterà, poiché abbiamo messo 0 quindi significa "appena sopra, in alto". Una volta definita la posizione verticale, possiamo vedere la posizione orizzontale, di cui si occupa il resto dei parametri, che per dirla semplicemente ... calcola le colonne esistenti e si assicura che sia proprio sul bordo destro. Se lo desideri, cambia il numero 29 per altri e noterai la differenza.
- quando : Bene, questo è semplice, la data ci mostra le informazioni che vediamo ... giorno, mese, ora, ecc.
- mettere rc : Sono tput sc salviamo la posizione, ora con tput rc la ripristiniamo.
- fatto : Qui finiamo tutto, quello che abbiamo iniziato nel frattempo.
Come puoi vedere, il terminale è senza dubbio uno spazio meraviglioso, se un comando non fa esattamente quello che vogliamo ... possiamo unirci a molti di loro e ottenere ciò che vogliamo. Vedere ogni comando come uno strumento, uno strumento (martello) non può farci una bella statua, tuttavia unendo questo strumento (martello) con altri (legno e scalpello) possiamo raggiungere il risultato del sogno 🙂
Oh, a proposito ... se vuoi che questo appaia sempre nel terminale senza doverlo eseguire ogni volta che apri una console, devi metterlo in .bashrc, cioè:
echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc
Poi se vuoi rimuoverlo, esegui quanto segue:
sed -i "s/while sleep 1/#while sleep 1/" $HOME/.bashrc
Ebbene, niente altro da aggiungere, spero vi sia stato utile
saluti
forte
echo "while sleep 1; do tput sc; tput cup 0 \ $ ((\ $ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc
Grazie ma per me non funziona ... Né in Konsole né in Yakuake ho fatto tutto come nel post. 🙁
Scusa ... è stata colpa mia ... ora che ho riavviato FUNZIONA !!!
È stato strano per me che non funzionasse, perché mentre ... date e tput sono comandi del pacchetto Bash 😀
Non lo so ... è successo qualcosa di strano ... metti un terminale:
echo "while sleep 1; do tput sc; tput cup 0 $ (($ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc
E il risultato è stato:
bash: /home/ghermain/.bashrc: riga 115: errore sintattico vicino all'elemento "do" inaspettato
bash: /home/ghermain/.bashrc: line 115: `PS1 = '$ {debian_chroot: + ($ debian_chroot)} [33 [01; 34m] u [33 [01; 32m] @ [33 [01; 32m] h [33 [00m]: [33 [01; 34m] w [33 [00m] $ 'while sleep 1; do tput sc; tput cup 0 64; date; tput rc; done &'
Quindi ho copiato direttamente i comandi che dai nel .bashrc alla fine e ottengo diverse righe con la data e l'ora.
Elimina tutte le righe che hai inserito nel file .bashrc sulla data e rimetti manualmente la riga senza usare l'eco che se non dà un errore
Molto interessante!
Grazie per aver letto 🙂
Ho cercato a lungo modi per "decorare" il terminale fresco ma efficiente, e questo comando è molto buono, non barocco come altre soluzioni, ma quando inserisco un comando lungo c'è un po 'di confusione. Il comando mangia la data e quindi la data sembra mangiare il comando. Qualcuno sa se esiste un modo in cui il prompt viene visualizzato per impostazione predefinita una riga più in basso?
Comunque grazie!
Suggerimento eccellente?
Grazie fratello 😀
Grazie per il suggerimento amico, funziona correttamente. Saluti.
Grazie a te per averci letto 🙂
Ottimo 😀
Oppure puoi creare un alias e usarlo quando necessario 😀
Interessante, proverò più tardi
Molto buono
Potresti scrivere un post che spieghi come installare zsh in Debian / Ubuntu / Mint / Elementary e come configurare i temi?
Uff, non ho mai usato zsh, scusa 🙁
KZKG ^ Gaara quando esegui il comando dà un errore perché suppongo che cerchi di riconoscere i $ che non hanno valore, in modo che non li interpreti, mettendoli \ è fisso.
echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc
Immagino che in questo modo non ci saranno problemi, correggili prima che dia a qualcuno un errore. Buon post, lo userò. Saluti.
Uff giusto, errore mio 😀
L'ho già aggiustato in post, grazie mille per la correzione 🙂
L'ho modificato e l'ho lasciato così
while sleep 1; do tput sc; tput cup 0 $ (($ (tput cols) -16)); date + »% R% d /% m /% Y»; tput rc; fatto &
Mostra solo Ora: Minuti Data con formato GG / MM / AAAA
Eccellente amico ho lavorato 100 grazie