3 votes

Comment puis-je afficher le vrai répertoire courant dans mon invite bash, et non le lien symbolique ?

J'utilise la valeur par défaut de PS1 livrée avec Ubuntu :

\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$

ce qui est correct 90% du temps. Cependant, lorsque je cd à un lien symbolique "répertoire" le nom du lien symbolique, et non la valeur de pwd -P est utilisé.

Comment puis-je changer le \w pour obtenir le vrai répertoire courant ? Et toujours afficher avec le format présenté par \w o \W ?

9voto

hek2mgl Points 753

Utilice $(pwd -P) au lieu de \w . Comme ça :

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]$(pwd -P)\[\033[00m\]$ '

2voto

Abbas Points 3737

Pour approfondir la réponse de hek2mgl, pour rendre votre invite "automatique", utilisez la fonction PROMPT_COMMAND variable :

PROMPT_COMMAND='PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]$(pwd -P)\[\033[00m\]\$ "'

Du manuel :

PROMPT_COMMAND

Si elle est définie, cette valeur est interprétée comme une commande à exécuter avant l'impression de chaque invite primaire ($PS1).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X