Categorie:
Data la sua natura sia libera che aperta
(FLOSS) la storica shell GNU bash
(Bourne-Again SHell, notare il gioco di parole ;-)) si
è man mano diffusa su una moltitudine di sistemi operativi diversi,
principalmente e comprensibilmente nelle varie salse di UNIX (Linux, AIX, *BSD, MacOSX, Solaris) ma anche, e perché no, in Windows (tramite CygWin).
Dovunque la si utilizzi ecco una piccola ricetta che ho trovato molto utile per migliorare l’aspetto del suo
invito-comandi (alias prompt), non solo per avere una più immediata leggibilità ma anche per ottenere un riscontro istantaneo sull’efficacia del comando appena impartito (il famigerato return-code
AKA echo $?
).
Inserendo la funzione seguente nel file di partenza della shell (~/.bashrc
)
si ottiene l’effetto magico:
function prompt { local LWHITE="[\033[1;37m]" local YELLOW="[\033[1;33m]" local BROWN="[\033[0;33m]" local MAGENTA="[\033[0;35m]" local GREEN="[\033[0;32m]" local RED="[\033[0;31m]" local CYAN="[\033[0;36m]" local GRAY="[\033[0;37m]" local BLUE="[\033[0;34m]" local WHITE="[\033[0;00m]" local HOSTCOL="`if [[ \$? = "0" ]]; then echo '${GREEN}\h'; else echo '${RED}\h' ; fi`" export PS1="${BLUE}\u${BROWN}@${HOSTCOL}${MAGENTA}:${CYAN}\w${WHITE}\$ " } prompt
Notare che la funzione dichiarata viene invocata subito dopo, altrimenti non avrebbe effetto!
screenshot
Utente, nome-host, e working-directory risaltano di più grazie ai colori e in particolare il colore dell’hostname
cambia da verde a rosso a seconda del risultato positivo o negativo del comando appena dato. Utile e dilettevole allo stesso tempo, no?
Commenti
Il Grande Fab!
Inviato da Gianluca Cherubini (non verificato) il
Grandissimo!!! Molto carina! La sperimenterò sulle mie due linux box: la PS3 e il mio server AMD64 con Oracle Enterprise Linux.
Per il resto saluti e baci.
Gian