BSD-FAQ-it
Indietro | Capitolo 6. Installare FreeBSD | Avanti

# 6.9. Bash e il prompt colorato

Per personalizzare la shell utilizzando bash sarà necessario creare alcuni files di configurazione come .bash_profile e .bashrc, questi files dovranno essere generati direttamente nella home directory dell'utente. Se i files verranno creati all'interno di una macchina che funziona come gateway o come firewall avranno assegnato il valore chmod 600. Se invece si dovesse trattare di una macchina di tipo Workstation, i files dovranno avere assegnato il valore chmod 655. I files dovranno naturamente essere assegnati al rispettivo proprietario (utente). Per la Workstation utilizzeremo la umask 022 mentre utilizzeremo una umask 077 per una macchina che esegue un sistema firewall o una gateway. Maggiori informazioni e riferimenti possono essere reperiti alla URL: http://freebsd.la3sg.net/.

    #touch .bash_profile
    #touch .bashrc
    #touch .bash_logout
    #chmod 600 .bash_profile .bashrc .bash_logout

Trattiamo alcune informazioni di carattere generale che ci saranno utili ad impostare un prompt di shell colorato

    [Utilizzare "\e" escape code per generare l'ANSI escape code
    [Utilizzare "\[ and \]" all'inizio e alla fine del codice ANSI

Per esempio

    "\[\e[0;31m\]color"-

Vediamo ora come funzionano gli ANSI attribute codes, la sequenza di escape ANSI ha il formato "ESC[X;Ym", dove ESC è il carattere di escape (octal 033). I valori X e, opzionalmente Y rappresentano uno dei seguenti codici escape

attribute codes

    00 = none
    01 = bold
    04 = underscore
    05 = blink
    07 = reverse
    08 = concealed

text color codes

    30 = black
    31 = red
    32 = green
    33 = yellow
    34 = blue
    35 = magenta
    36 = cyan
    37 = white

background color codes

    40 = black
    41 = red
    42 = green
    43 = yellow
    44 = blue
    45 = magenta
    46 = cyan
    47 = white

-La sequenza ESC[1;32myafcrulesESC[0m trasformerà la stringa ``yafc rules'' nel colore verde, successivamente l'attributo verrà ripristinato normalmente.

Abbiamo già detto che per presonalizzare il prompt di bash occorrono due files di configurazione, .bash_profile e .bashrc. Possiamo ricorrerre all'utilizzo del file .profile (già presente) per ottenere un file .bash_profile e dunque finalmente personalizzare il prompt della shell. La configurazione che vi propongo prenderà il nome di ``aquilotto''.

    #cp .profile .bash_profile

Vediamo ora il contenuto di .bash_profile

    #
    PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin
    export PATH-[HOME=/root-[export HOME
    TERM=${TERM:-cons25}
    export TERM
    PAGER=more
    export PAGER
    umask 022
    export PS1='\[\e[0m\]\[\e[0m\]\[\e[36m\]\u\[\e[00m\]@\[\[\e[0m\]\[\e[36m\]\h\[\e[00m\]:\[\e[34m\]$PWD\[\e[0m\]\[\e[01m\]\[\e[0m\]> '
    alias ls='ls -alFG'
    alias dir='ls -l'
    alias rm='rm -i'

Vediamo ora il contenuto di .bashrc

    umask 022
    export PS1='\[\e[0m\]\[\e[0m\]\[\e[36m\]\u\[\e[00m\]@\[\[\e[0m\]\[\e[36m\]\h\[\e[00m\]:\[\e[34m\]$PWD\[\e[0m\]\[\e[01m\]\[\e[0m\]> '
    alias ls='ls -alFG'
    alias dir='ls -l'

Vediamo ora il contenuto del file .bash_logout

    clear

-Utilizzando questo tipo di configurazione non sarà più necessario ricorrere alla modifica del file /etc/profile visto che sarà così possibile modificare il solo aspetto della shell desiderata.

Indietro | Partenza | Avanti
Bash come shell di FreeBSD | Risali | L'utente toor