215 votes

Comment puis-je raccourcir l'invite de ma ligne de commande (bash) ?

Actuellement, c'est le cas :

michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$

En dehors de renommer ma machine et la structure des répertoires...

Comment je pourrais faire en sorte que ce soit quelque chose de plus comme :

michael:controllers$

2voto

WinEunuuchs2Unix Points 91128

I a écrit une fonction que vous pouvez modifier en fonction de vos besoins :

function termprompt() {
    PS1="${PS1//@\\h/}"     # Remove @host
    PS1="${PS1//\\w/\\W}"   # Change from full directory to last name
}

Placez cette fonction au bas ou près du bas de ~/.bashrc après le PS1 a été entièrement calculée.

Vous devez taper termprompt à chaque fois que vous vouliez raccourcir votre message ou, avoir termprompt appelé depuis le bas de votre ~/.bashrc pour la permanence.

L'avantage de cette technique par rapport à de nombreuses autres réponses est le suivant .bashrc peut mettre en place PS1 de quatre manières différentes (xterm+no-color, xterm+color, no-xterm+no-color, no-xterm+color). Cette réponse prend en charge les quatre méthodes actuelles et probablement aussi les méthodes futures.

Un autre avantage de cette méthode est que les codes de contrôle à parcourir pour insérer vos modifications sont moins complexes.

0voto

En tenant compte des réponses que j'ai trouvées dans cet article, j'ai créé un modèle que je préfère utiliser. J'inclus également des couleurs dans la commande.

ça ressemble à ça :

[ folder ]$ Command

Pour le tester pour l'instance actuelle du terminal

PS1='\[\033[01;34m\][ \W ]\[\033[00m\]$ '

Pour le rendre permanent pour chaque instance du terminal

echo "PS1='\[\033[01;34m\][ \W ]\[\033[00m\]\$ '" >> ~/.bashrc

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