On Wed, Oct 29, 2014 at 03:31:33PM +0100, Ivan Tarozzi wrote: > Il 29/10/2014 15:23, ptux ha scritto: > > Al momento il mio file ~/.bashrc contiene questa stringa PS1: > > > > PS1="\[\e[1;32m\][\u][\w]\ $\[\e[0m\] > > \[\033[s\]\[\033[1;\$((COLUMNS-13))f\]\$(date +%d/%m/%y) $(date > > +%H:%M)\[\033[u\]" > > > > Così ho aggiunto la data, ma resta il fatto che l'orario seguita a non > > aggiornarsi neppure premendo invio... > > Una bazzecola, ma puoi evitare di chiamare 2 volte il comando date in > questo modo: > > PS1="\[\e[1;32m\][\u][\w]\ $\[\e[0m\] > \[\033[s\]\[\033[1;\$((COLUMNS-13))f\]\$(date +'%d/%m/%y %H:%M')\[\033[u\]" > > Puoi provare ad inserire anche i secondi (%S)? Io continuo a vedere > l'ora aggiornarsi ad ogni invio.... Nella definizione originale, le due chiamate al comando date sono diverse: \$(date +%d/%m/%y) per la data e $(date +%H:%M) per l'ora. Nel primo caso viene, correttamente, inserito nel prompt un comando, che sarà eseguito ad ogni visualizzazione del prompt; nel secondo caso viene invece inserito **l'output** della prima esecuzione. Ecco perché l'ora non veniva mai aggiornata. Detto questo, bash non ha modo di aggiornare la data e l'ora se non quando visualizza il prompt. Per avere un orologio dinamico sul terminale, ti consiglio di usare GNU Screen, ad esempio seguendo le indicazioni che trovi sul wiki di Arch Linux[1]. Happy hacking! [1] https://wiki.archlinux.org/index.php/GNU_Screen#Turn_your_hardstatus_line_into_a_dynamic_urxvt.7Cxterm.7Caterm_window_title -- Andrea Bolognani <eof@xxxxxxxxxx> Resistance is futile, you will be garbage collected.
Attachment:
signature.asc
Description: Digital signature