75 votes

Comment puis-je afficher le chemin absolu dans l'invite bash ?

J'ai actuellement mon bash PS1 réglé sur quelque chose comme ça :

PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\w\n\$ "

Comment puis-je faire en sorte qu'il affiche le chemin absolu au lieu du chemin relatif (par ex. /home/dave/dir 代わりに ~/dir ) ?

79voto

cYrus Points 20338

Remplacez simplement \w con \$PWD :

PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\$PWD\n\$ "

Bref, si vous voulez un petit conseil, j'écrirais quelque chose comme :

PS1='\[`[ $? = 0 ] && X=2 || X=1; tput setaf $X`\]\h\[`tput sgr0`\]:$PWD\n\$ '

40voto

user3725924 Points 61

Mettez dans votre maison .bashrc

PS1='\u@\h:\w\$ '

5voto

Keith Sirmons Points 2558

Ejecutar pwd au lieu d'utiliser \W .

Version simple :

export PS1="\`pwd\` $ "

En utilisant ceci dans votre code :

export PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\`pwd\`\n\$ "

0voto

Sirex Points 10734

Dans le ps1 de bash ; -W devrait être relatif, et -w absolu, donc dans ce qui précède vous devriez déjà avoir l'absolu ? !

http://wiki.archlinux.org/index.php/Color_Bash_Prompt

0voto

Martin Wildam Points 131

Humm ~/dir est un chemin absolu mais utilisant un "raccourci". Par exemple, si vous faites cd /usr/local votre invite affichera très probablement le chemin complet de /usr/local. Donc, de toute façon, vous avez déjà un chemin complet :-)

Mais votre question correcte est probablement de savoir comment afficher le chemin complet sans raccourcis comme ~ ?

Cependant, je ne connais pas de réponse à cette question et en regardant l'homme, il semble en avoir une (du moins documentée).

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