1 760
contributi
(de-stubbed + nota osolescenza) |
(de-stubbed + nota osolescenza) |
||
Riga 1: | Riga 1: | ||
[[Categoria:Shell]] | |||
[[Categoria:Tips&Tricks]] | |||
==Personalizzare il prompt== | |||
Per | Dunque come sappiamo bash � un tipo, forse il pi� usato, di shell per linux. Spesso per� c'� la necessit� di amministrare pi� macchine, anche solo all'interno di una rete casalinga. Possiamo riconoscerle certamente dall'hostname, ma se vogliamo fare una cosa anche pi� carina oltre che utile, possiamo colorare il prompt. Per farlo basta editare il file ~/.bashrc. Al suo interno troveremo (se non le abbiamo cancellate in precedenza) delle righe pi� o meno cosi: | ||
* [[ | <pre> | ||
# Coloriamo bash | |||
if [ "$PS1" ]; then | |||
export PS1="\[\033[1;32m\]\u\[\033[1;37m\]@\[\033[1;31m\]\h\[\033[1;0m\]:\w\$ " | |||
fi | |||
</pre> | |||
La sintassi � abbastanza semplice, esploriamo invece i vari comandi: | |||
<pre> | |||
u = Il nostro nome utente | |||
@ = il carattere @ | |||
[\033[1;32m\] = cambio il colore in verde | |||
h = hostname | |||
[\033[1;0m\] = colore di default | |||
: = il carattere : | |||
w = directory corrente | |||
$ = $ se siamo user, # se siamo superuser | |||
</pre> | |||
Nell'esempio riportato sopra, che � una parte del mio bashrc, possiamo usare bash con la bandiera italiana. Ovviamente potete personalizzarlo come volete, cambiare caratteri, modificare colori e quant'altro. | |||
==Usare i colori negli script== | |||
Se si vogliono usare spesso i colori negli script bash � molto comodo definire delle variabili mnemoniche alle quali assegnare i codici di ogni colore. Questo pu� essere fatto ad esempio creando un file di nome '''/usr/local/bin/colors''', con il seguente contenuto: | |||
<pre> | |||
#!/bin/bash | |||
export WHITE="\e[1;37m" | |||
export LGRAY="\e[0;37m" | |||
export GRAY="\e[1;30m" | |||
export BLACK="\e[0;30m" | |||
export RED="\e[0;31m" | |||
export LRED="\e[1;31m" | |||
export GREEN="\e[0;32m" | |||
export LGREEN="\e[1;32m" | |||
export BROWN="\e[0;33m" | |||
export YELLOW="\e[1;33m" | |||
export BLUE="\e[0;34m" | |||
export LBLUE="\e[1;34m" | |||
export PURPLE="\e[0;35m" | |||
export PINK="\e[1;35m" | |||
export CYAN="\e[0;36m" | |||
export LCYAN="\e[1;36m" | |||
export Z="\e[0m" | |||
</pre> | |||
In questo modo non ci resta che fare un source del file '''/usr/local/bin/colors''' ogni qual volta vogliamo usare i colori. Per fare il source basta inserire: | |||
<pre> | |||
. colors | |||
</pre> | |||
in un punto dello script. A questo punto potremo colorare facilmente il nostro output in questo modo: | |||
<pre> | |||
echo -e "$LGREEN *** $Z Attenzione: la dir $LGREEN documenti $Z sara' eliminata" | |||
</pre> | |||
che da come risultato nel terminale: | |||
<div style="padding: 10px; background-color: black;color: white;"> | |||
<tt><font color="red"> *** </font>Attenzione: la dir <font color="#0FFF2F">documenti</font> sara' eliminata</tt> | |||
</div> | |||
;Nota 1: bisogna usare l'opzione '''-e''' con echo per fargli interpretare correttamente i caratteri di escape. | |||
;Nota 2: la variabile $Z ripristina il colore di default del terminale. | |||
{{warningbox| I colori sono un caratteristica non POSIX di bash, quindi non usateli se vole fare script portabili}} | |||
---- | |||
Autore iniziale: Bedo | |||
Verificata ed estesa da : [[Utente:TheNoise|~ The_Noise]] |
contributi