BSD-FAQ-it
Indietro | Capitolo 3. Amministrazione del Sistema | Avanti

# 3.3. Il prompt di default della shell è bruttino, come posso cambiarlo?

Cambiando la variabile d'ambiente PS1 è possibile modificare il prompt della shell. Ci sono alcuni caratteri di escape che possono essere utili per personalizzare ulteriormente il prompt. Questi sono solo alcuni per la shell bash:

    \u : l'user corrente
    \h : l'hostname
    \w : la directory corrente
    \@ : l'ora corrente, in formato 12H am/pm
    \t : l'ora corrente, in formato 24-ore HH:MM:SS
    \d : la data, in formato Giorno della Settimana Mese Data

Per la shell tcsh, ovvero quella di default, è necessario impostare la variabile prompt, che accetta i seguenti caratteri di escape:

    %n : l'user corrente
    %m : l'hostname
    %/ o %~ : la directory corrente
    %@ : l'ora corrente in formato 12H am/pm
    %T : l'ora corrente in formato 24-ore HH:MM
    "%d %w %D" : sequenza per la data corrente in formato Giorno della Settimana Mese Data

Per ulteriori sequenze di escape, le man page delle due shell, bash(1) e tcsh(1), sono più che esaustive.Un PS1 tipico è user@hostname$ corrisponde a

    \u@\h$

in bash e a

    %n@%m$

per quanto riguarda la variabile prompt di tcsh. A volte può essere utile visualizzare l'ora o la directory corrente quindi un prompt adatto sarebbe [ora][directory corrente]$ che è la risultante di

    [\@][\w]$

e di

    [%@][%~]$

rispettivamente in bash e in tcsh. Per la shell sh(1) non esistono caratteri di escape, tuttavia è possibile modificare il prompt agendo sempre sulla variabile PS1, assegnandole quindi qualsiasi valore si voglia anche facendo uso di espressioni come in

    ~paperoga% exportPS1=$(/usr/bin/whoami)$;
    paperoga$

per settare il prompt con il nome utente attuale.

Indietro | Partenza | Avanti
Come posso eseguire un comando a una determinata ora di un determinato giorno? | Risali | Come posso fare eseguire un comando ogni determinato lasso di tempo?