Domanda Risolto zsh manda in output il fullpath della home anzichè la tilde

22 Febbraio 2022
475
42
353
350
Ultima modifica:
Buondì, il problema è semplice, zsh manda in output sul prompt il percorso completo della home, /home/ghost, anziche la forma abbreviata, ovvero ~, il prompt lo fatto io:
Bash:
PS1="[%B%F{%(#.red.blue)}%n@%m%F{reset}]-[ %B%F{%(#.blue.cyan)}%~%F{reset} ]                    
%# "
Appena apro la shell però esce la tilde, appena la cambio con cd esce il full path
Il fatto è che questo discorso vale solo per lo user normale, con l'account root non succede, lascio una foto per capire meglio
2023-02-14-193736_957x1062_scrot.png
Da abbastanza fastidio, qualcuno sa perchè e come si può fixare?
 
Ei Bomber, controlla se hai impostato correttamente la variabile $HOME. Provare a dare:
Bash:
echo $HOME

Controlla che sia impostata con il valore "/home/ghost", in caso contrario modificala. Poi facci sapere ;)
 
  • Mi piace
Reazioni: hackynonpointer
Ei Bomber, controlla se hai impostato correttamente la variabile $HOME. Provare a dare:
Bash:
echo $HOME

Controlla che sia impostata con il valore "/home/ghost", in caso contrario modificala. Poi facci sapere ;)
Detto bene, non so perchè ma è con lo slash finale, ossia /home/ghost/
2023-02-14-205648_270x115_scrot.png
Difatti poi facendo l'export di essa è tornato normale:
2023-02-14-205821_292x96_scrot.png
Facendo così worka ma appare lo slash dopo la tilde, bah
2023-02-14-210347_194x33_scrot.png
 
Pardon, ho fatto un errore di battitura prima, devi mettere lo slash finale nella dichiarazione della $HOME, quindi vai con:
Bash:
export HOME="/home/ghost/"
 
Ultima modifica:
Pardon, ho fatto un errore di battitura prima, devi mettere lo slash finale nella dichiarazione della $HOME, quindi vai con:
Bash:
export HOME="/home/ghost/"
Era già cosi di defualt, usciva il full path in questo modo nel prompt, ho provato a cambiare il prompt levando colori e fatti vari ma niente.
 
Ultima modifica:
Qualche altra informazione che puo tornare utile per il debugging:

```
printenv
cat ~/.profile
```

Fra l'altro, succede anche con Bash o solo con ZSH?
Zsh, su bash non mi pare ma mi potrei sbagliare, sto a scuola ora 20 minuti e vi giro gli output

-----
Printenv:
2023-02-15-141056_781x620_scrot.png
.profile non è presente, per bash ci sta .bashrc e zsh .zshrc, quello di zsh lo fatto io modificando due cosette invece quello di bash ci stanno due alias e il prompt.
Su bash resta la tilde ma appena apri la shell finchè non cambi cartella resta vuota:
2023-02-15-141457_293x150_scrot.png
( lasciate stare che ho cannato l'hostname nel prompt asd )
 
Ultima modifica:
Aha!

Il problema viene dallo slash in passwd:

Codice:
~ ❯ getent passwd "$LOGNAME"                                           15:18:00
fennek:x:#######:#####:fennek:/home/fennek:/usr/bin/zsh

Immagino sia nel tuo /etc/passwd, (varia in base a che tipo di login/utente), prova a togliere lo slash da li e rebootare.

Togli lo slash finale anche da $HOME.

Fra l'altro, puoi verificare che anche gli altri utenti di default non hanno lo slash finale, e.g. getent passwd "sshd"
 
  • Love
Reazioni: hackynonpointer