Newsgroup: it.comp.os.linux.iniziare
Titolo: Scritta sulla linea di comandi.

Salve a tutti, vorrei sapere se è possibile cambiare la scritta sulla linea
dei comandi (parto con un login testuale e non grafico).
Se la risposta è si, come fare?
Grazie a tutti, Buone Feste.

 Se la risposta è si, come fare?
DEvi modificare la variabile $PS1, comunque esiste un 
bash-prompt-how-to.
Ciao.
-- 
***  Per E-mail rimuovi ModE dall'indirizzo  ***
  *** Linux user # 198661 --- ICQ 33500725 ***
*** homepage 
http://web.tiscalinet.it/kailed
 ***
            *** Powered by Linux ***

 ha scritto nel
messaggio news:blk40a...@karma.kailed.net...



|Date: Sat, 17 Nov 2001 20:39:10 +0100 (CET)
|Subject: Re: [lugroma-tech] dopo rescue?
|
|On Sat, 17 Nov 2001, Alessandro Selli wrote:
|
|> ambapali@obscuritas ~>$ mount
|
|Come fai a cambiare colore al prompt ?
|< memore di quello che scrivesti altrove.. >
|P.
  Trovi tutto nel Bash-Prompt-HOWTO, ma per semplicità ti mando la mia
configurazione.
  In /etc/profile ho:
  export PS1='[\[\033[32m\]\u@\h\[\033[36m\]
\w\[\033[0m\]]\[\033[31m\]\$\[\033[0m\] '
  export PS2='\[\033[1;33m\]>\[\033[0m\] '
  export PS3='\[\033[1;34m\]#?\[\033[0m\] '
  export PS4='\[\033[1;31m\]+\[\033[0m\] '
  La prima riga risulta nel solito prompt di default:
[guest@obscuritas ~]$
solo che "guest@obscuritas" è di colore verde, "~" è azzurrino (ciano) e "$" è
rosso.
  La seconda risulta nel solito prompt secondario, idem per le altre righe
(prompt terziario e quaternario), ma i colori sono, nell'ordine, giallo, blu
chiaro e rosso chiaro.  Allego la lista dei colori con le rispettive escape
sequences (sequenze fugate?  :-).
  Nel mio  ~/.bash_profile  però ho un'altra definizione per PS1:
PS1="\[\033[1;32m\]\u@\h\[\033[36m\]
\w\[\033[1;37m\]>\[\033[0;31m\]\$\[\033[0m\] "
  Questo rende il prompt nel modo seguente:
ambapali@obscuritas ~>$
con  "ambapali@obscuritas"  di colore verde chiaro,  "~"  ciano,  ">"  bianco
e  "$"  rosso.  In più una riga dello stesso file recita:
source /usr/local/bin/prompt_command
Questo file fa quanto segue:
source /usr/local/bin/color.codes
prefix='status=$?;dateR=date -R|tr -s " ";'
piece1='echo -e $black$bgcolecho $dateR|cut -b1-16'
piece2=' $yellow echo $dateR|cut -b17- $blue Exit status: $red$status$blue'
piece3=' Jobs: $redjobs|wc -l|tr -d " "$blue '
TTY=ttyif echo $TTY | grep pts >-
then piece4='pts: $redecho $TTY | tr -d "/dev/pts/"'
else piece4='tty: $redecho $TTY | tr -d "/dev/tty"'
fi
if test /usr/bin/id -u == 0
then bgcol=$Green
else bgcol=$Cyan
fi
PROMPT_COMMAND=$prefix$piece1$piece2$piece3$piece4'$normal'
export PROMPT_COMMAND
  Il file  color.codes  è quello che ho aggiunto in calce; il resto delle
istruzioni servono per costruire la variabile d'ambiente  PROMPT_COMMAND, che
contiene istruzioni che vengono eseguite ogni volta che la bash sta per
riscrivere il prompt.  In questo caso:
  status=$?  la variabile  status  registra il codice d'errore dell'ultimo
         comando eseguito evitando che le istruzioni seguenti lo cancellino;
  dateR=date -R  la variabile  dateR  memorizza la data in formato
         RFC-822;
  echo -e $black$bgcol  imposta il colore frontale a nero e quello di sfondo
         secondo la variabile  bgcol;
  echo $dateR|cut -b1-16  mostra i primi sedici byte della data memorizzata in
         Rdate (giorno della settimana, giorno del mese, mese e anno);
  $yellow  imposta il colore frontale a giallo;
  echo $dateR|cut -b18-25  mostra i byte della data dal dicioettesimo al
        venticinquesimo (ora, minuti e secondi);
  $blue Exit status:  scrive  "Exit status:"  in blu;
  $red$status$blue  scrive il valore della variabile  "status"  in rosso e
        seleziona il colore blu;
  Jobs: $red  viene scritto  "Jobs:"  in blu e viene selezionato il colore
        rosso;
  jobs|wc -l|tr -d " "  vengono contate le righe dell'output di  jobs  e
        dall'output di  wc  vengono rimossi gli spazi;
  $blue   seleziona il colore frontale blu;
  TTY=tty  la variabile TTY è ora uguale all'identificativo della console usata;
  if echo $TTY | grep pts >-  se nella stringa di TTY è compresa la stringa
        "pts" ...
  then piece4='pts: $redecho $TTY | tr -d "/dev/pts/"'    allora togli la
        stringa "/dev/tty" e scrivi il numero risultante in rosso;
  else piece4='tty: $redecho $TTY | tr -d "/dev/tty"'    altrimenti,
        togline la stringa "/dev/tty" e scrivi il numero risultante in rosso.
  Le istruzioni che seguono impostano il colore di sfondo a ciano per i normali
utenti e a verde per root.  Ne risulta, a colori:
Sat, 17 Nov 2001  22:28:39  Exit status: 0 Jobs: 0 tty: 3
ambapali@obscuritas ~>$
  Per cancellare la prima riga del prompt fai:
$ unset PROMPT_COMMAND
Magari ti definisci degli alias:
alias p_c='source /usr/local/bin/prompt_command'
alias kp_c='unset PROMPT_COMMAND'
  Il file  prompt_command  non deve cominciare per  #!/bin/[ba]sh, altrimenti
non funziona.  Sarebbe eseguito in una sottoshell e le variabili che imposta
varrebbero solo per quella sottoshell.  Finita l'esecuzione, PROMPT_COMMAND
tornerebbe al valore che aveva prima della sua esecuzione.
  Sandro
-- 
"In a world without walls and fences
you would not need windows and gates."
(Confucius)

Nel fausto dě di Sun, 23 Dec 2001 12:32:03 GMT, il prode _Duken_
presente alla corte di _it.comp.os.linux.iniziare_
cosě ebbe l'ardire di pronunziarsi:
|Salve a tutti, vorrei sapere se č possibile cambiare la scritta sulla linea
|dei comandi (parto con un login testuale e non grafico).
|Se la risposta č si, come fare?
|Grazie a tutti, Buone Feste.
|
|
  Scusa ma, nel messaggio di prima, il copia-incolla mi ha filtrato i
caratteri '`' ed ho dimenticato di aggiungere il file color.codes.
source /usr/local/bin/color.codes
prefix='status=$?;dateR=`date -R`;'
piece1='echo -e $black$bgcol`echo $dateR|cut -b1-16`'
piece2=' $yellow `echo $dateR|cut -b18-25` $blue Exit status: $red$status$blue'
piece3=' Jobs: $red`jobs|wc -l|tr -d " "`$blue '
TTY=`tty`
if echo $TTY | grep pts >-
then piece4='pts: $red`echo $TTY | tr -d "/dev/pts/"`'
else piece4='tty: $red`echo $TTY | tr -d "/dev/tty"`'
fi
if test `/usr/bin/id -u` == 0
then bgcol=$Green
else bgcol=$Cyan
fi
PROMPT_COMMAND=$prefix$piece1$piece2$piece3$piece4'$normal'
export PROMPT_COMMAND
cat /usr/local/bin/color.codes
black='\033[30m'
red='\033[31m'
green='\033[32m'
brown='\033[33m'
blue='\033[34m'
purple='\033[35m'
cyan='\033[36m'
light_gray='\033[37m'
dark_gray='\033[1;30m'
light_red='\033[1;31m'
light_green='\033[1;32m'
yellow='\033[1;33m'
light_blue='\033[1;34m'
light_purple='\033[1;35m'
light_cyan='\033[1;36m'
white='\033[1;37m'
Black='\033[40m'
Red='\033[41m'
Green='\033[42m'
Brown='\033[43m'
Blue='\033[44m'
Purple='\033[45m'
Cyan='\033[46m'
Light_gray='\033[47m'
Dark_gray='\033[1;40m'
Light_red='\033[1;41m'
Light_green='\033[1;42m'
Yellow='\033[1;43m'
Light_blue='\033[1;44m'
Light_purple='\033[1;45m'
Light_cyan='\033[1;46m'
White='\033[1;47m'
underscore='\033[4m'
blink='\033[5m'
inverse='\033[7m'
concealed='\033[8m'
normal='\033[0m'
