Pagina 1 di 1

[RISOLTO] Variabile di shell PS1

MessaggioInviato: 23/08/2017, 22:04
da varlux
Salve, ho letto ed imparato a formattare la variabile di shell in oggetto per modificare il prompt dei comandi.

Pensavo di aver raggiunto un buon livello di apprendimento ma.... provando un "echo" della stessa variabile sul mio nuovo VPS leggo:
Codice: Seleziona tutto
${debian_chroot:+($debian_chroot)}\u@\h:\w\$


??? ???

riesco ovviamente ancora a decifrare la parte finale "user@host:working_directory$", ma non comprendo quella iniziale:

Codice: Seleziona tutto
${debian_chroot:+($debian_chroot)}


Qualcuno che possa illuminarmi?
Grazie

Re: Variabile di shell PS1

MessaggioInviato: 23/08/2017, 23:38
da Aki

Re: Variabile di shell PS1

MessaggioInviato: 26/08/2017, 14:04
da varlux
Grazie Aki,

quindi dovrei tradurre in:

Se il parametro debian_chroot non è impostato, allora verrà impostato come stringa nulla


Coretto?

Grazie

Re: Variabile di shell PS1

MessaggioInviato: 26/08/2017, 21:06
da Aki
No; significa, che l'espressione da te rappresentata è sostituita dall'interprete bash con il contenuto della variabile debian_chroot tra parentesi tonde se la stessa è definita, ad esclusione del caso in cui il contenuto della variabile sia nullo. Ad esempio:
Codice: Seleziona tutto
$ debian_chroot="prova"; echo ${debian_chroot:+($debian_chroot)}
(prova)
$ debian_chroot=; echo ${debian_chroot:+($debian_chroot)}

$ unset debian_chroot
$ echo ${debian_chroot:+($debian_chroot)}


Re: Variabile di shell PS1

MessaggioInviato: 27/08/2017, 17:13
da Aki
@varlux: la discussione può considerarsi risolta ?