Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143

    Variabile d'ambiente PS1

    Ciao, sto facendo alcune prove per cominciare a conoscere Linux e ho incontrato questo problema: ho cercato di visualizzare il contenuto della variabile PS1, facendo $PS1, ma mi ha dato che la variabile contiene $(ppwd , non mi pare, se ho capito bene, che sia il risultato atteso, dovrebbe dare quello che si vede stampato come prompt, cioè utente@host:directory.
    Ho provato a dare il comando PS1=\u@\h:\w\$, invece di dare il mio nome utente, il nome dell'host e la cartella personale, ha dato:
    u@h:w$, cioè ha stampato le lettere senza \. Che cosa sto sbagliando?
    La Shell è la Bash.
    Grazie

  2. #2
    Per visualizzare il contenuto di $PS1 devi dare

    echo $PS1 (e non semplicemente $PS1)

    Esempio:

    maiosyet@alcibiade:~$ echo $PS1
    \u@\h:\w\$

    \u username
    @
    \h hostname
    :
    \w path locale
    $ (simbolo di user)

    Per impostare valori permanenti a PS1 basta che li setti in ~/.bashrc

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143
    Dunque con echo $PS1 mi dà:
    $(ppwd \l)\u@\h:\w>
    non è un pò strano il primo pezzo fino alla parentesi? Che cosa sta a significare?
    Non so se ho capito bene l'istruzione che mi hai consigliato per cambiare il valore, io ho fatto:
    PS1=~/.bashrc
    e quello che mi dà facendo echo PS1 è:
    /home/nomeUtente/.bashrc
    Va bene? e che cosa sarebbe stato fatto con quel .bashrc?

    Grazie mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    Originariamente inviato da namek
    Ho provato a dare il comando PS1=\u@\h:\w\$, invece di dare il mio nome utente,
    il nome dell'host e la cartella personale, ha dato:
    u@h:w$, cioè ha stampato le lettere senza \. Che cosa sto sbagliando?
    mancano gli apici (PS1='\u@\h:\w\$')
    Dunque con echo $PS1 mi dà:
    $(ppwd \l)\u@\h:\w>
    non è un pò strano il primo pezzo fino alla parentesi?
    $(pwd), non $(ppwd..)
    sì, è un po' strano, visto che (dopo aver corretto) ti esce fuori qualcosa del tipo:
    codice:
    /path/attualenomeutente@host:/path/attuale
    Che cosa sta a significare?
    $man pwd
    io ho fatto:
    PS1=~/.bashrc
    e quello che mi dà facendo echo PS1 è:
    /home/nomeUtente/.bashrc
    Va bene? e che cosa sarebbe stato fatto con quel .bashrc?
    non ha senso, hai dato a PS1 il valore $HOME/.bashrc....risultato
    codice:
    /home/nomeutente/.bashrc
    a PS1 devi dare valori tipo questi:
    codice:
    if [ $EUID -eq 0 ] ; then
    	export PS1='[$(whoami)]@[\h]:\w\$'   ($(whoami) è un po' inutile...)
    else 
    	export PS1='\u@\h:\w\$'
    fi
    affinchè abbia un minimo di senso


  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143
    Grazie, U-bahn, molto chiaro
    Unica cosa, ora avendo fatto PS1="\u@\h:\w" funziona, ma prima che non lo facevo con le "" dava proprio ppwd.... non pwd, cosa che ci aspetteremmo come infatti sottolinei tu. ppwd nel man, ovviamente non c'è. Comunque il problema mio è risolto, grazie di nuovo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.