mercoledì 20 maggio 2009

Bash Modding

Ecco un paio di comandi per dare un po' di "vita" al prompt della nostra bash!
Premetto che la cosa è abbastanza inutile ma pur sempre divertente :)

Allora, di solito una volta aperto il vostro terminale vi trovate davanti ad una cosa del genere:
user@hostname:~$
Che ne dite di aggiungere qualcos'altro? tipo...mmm...l' ora!, per essere sempre aggiornati così da averla sempre sott'occhio per arrivare puntuali agli appuntamenti sfruttando fino all'ultimo il tempo a vostra disposizione oppure...la data! così se passate ore e ore a smanettare davanti al pc senza interfaccia grafica fino a perdere la concezione del tempo, almeno sapete che giorno è! :D

Una cosa tipo questa v piacerebbe?
[hh:mm:ss - dd mm gg][user@host:~]$
come? Niente di più semplice!
Quelle informazioni sono contenute nella variabile "PS1", qundi dalla vostra console, potete salvarla o guardarla con i comndi:
pippo=$PS1
e
echo PS1
per modificarla basta scrivere sempre sulla console:
PS1="[\t - \d][\u@\h:\W]\$ "
dove:
\t sta per l'ora
\d data
\u utente
\h host
\W work directory

Ecco si, la cosa forse più utile che ho trovato è proprio l'ultima istruzione. Sarà capitato anche a voi di trovarvi in questa situazione:
agno@AgNO-buntu:~/Documenti/Università/Fondamenti di Informatica 1/Esercitazioni Laboratorio/RicercaBisezione$
ed avere così più righe del terminale occupate dal percorso della vostra cartella di lavoro. Molto più carino e pulito invece è questo:
agno@AgNO-buntu:RicercaBisezione$
ottenuto con un semplice:
agno@AgNO-buntu:~$ PS1="\u@\h:\W\$ "
Sempre che non abbiate paura di non sapere dove siete! In questo caso c'è sempre
pwd
che può aiutarvi! ;)

Una volta finito di trovare la combinazione che più vi si addice, potete rendere permanenti (altrimenti limitate alla sessione corrente) le vostre modifiche modificando il file che trovate nella vostra home:
.bashrc
aggiungendo la seguente stringa:
export PS1="codicivari"
Una lista un po' più completa di possibili opzioni da aggungere:
\a il carattere ASCII beep (07)
\d la data nel formato "Giorno-della-settimana Mese Data" (e.g., "Tue May 26")
\e un carattere di escape ASCII (033)
\h l'hostname fino al primo `.'
\H l'hostname
\n il carattere "newline"
\r il carattere "carriage return"
\s il nome della shell, il nome base di $0 (la parte che segue lo slash finale)
\t l'ora corrente nel formato 24-ore HH:MM:SS
\T l'ora corrente nel formato 12-ore HH:MM:SS
\@ l'ora corrente nel formato 12-ore am/pm
\u lo username dell'utente corrente
\v la versione di bash (e.g., 2.00)
\V la release di bash, versione + patchlevel (e.g., 2.00.0)
\w la directory di lavoro corrente
\W il nome di base della directory di lavoro corrente
\! il numero cronologico (history number) di questo comando
\# il numero di questo comando
\$ se l'UID effettivo è 0, un #, altrimenti un $
\nnn il carattere corrispondente al numero ottale nnn
\\ un backslash
\[ comuncia una sequenza di caratteri non stampabili, che potrebbero essere usati per inserire una sequenza di controllo del terminale nel prompt
\] termina la sequenza di caratteri non stampabili
mentre per i colorare la bash qui!

1 commento:

Syslac ha detto...
Questo commento è stato eliminato dall'autore.