Si je suis dans un répertoire profond, disons:
~/Desktop/Dropbox/School/2017/C/A3/
puis quand j'ouvre le terminal, ça dit
bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$
puis j'écris ma commande. C'est très long et chaque ligne que j'écris dans le terminal passe à la ligne suivante. Je veux savoir s'il existe un moyen pour qu'il affiche uniquement mon répertoire actuel. Je veux qu'il affiche:
bob@bob-ubuntu: A3/$
De cette façon, c'est beaucoup plus clair, et je peux toujours faire pwd
pour voir tout mon répertoire. Je ne veux tout simplement pas que le répertoire entier soit visible dans le terminal car il prend trop de place.
export PROMPT_DIRTRIM=3
dans votre.bashrc
est le parfait compromis entre\W
et\w
. Voir: gnu.org/software/bash/manual/html_node/Bash-Variables.htmlEn supposant que vous utilisez bash, modifiez la chaîne d'invite (variable PS1) pour qu'elle ait la
\W
place de\w
.Par exemple, si votre PS1 est actuellement
\u@\h:\w\$
, réglez-la sur\u@\h:\W\$
Pour rendre cela permanent, vous devrez le changer dans vos fichiers de démarrage bash - par exemple
~/.bash_profile
ou~/.bashrc
.voir
man bash
et rechercher pour plusPROMPTING
de détails et une liste de caractères spéciaux avec barre oblique inverse.la source
\w
PS1 en\W
. ou vous pouvez simplement définir l'invite à tout ce que vous voulez au bas du script.dans ce cas, vous devrez éditer PS1 ,
Au début
\w
, vous aurez une commande ou une variable qui montre le chemin raccourci:PS1 d'origine
le changer en
Notez que cela mettra le nom d'utilisateur insteed de ~ si vous êtes dans votre répertoire personnel!
pour éviter cela, vous aurez besoin de quelques commandes insteed de $ {PWD ## * /} par exemple
la nouvelle PS1 ressemblera à ce qui suit
oOps pendant que j'essaie de sauver le monde, je n'ai eu aucune idée | oublié le \ W
la source
Ceci est portable pour tous les
sh
obus.Attribuez-le à l'
PS1
un de vos fichiers de démarrage du shell:L'invite ressemblera à
Où
dir
est le nom de base du répertoire actuel.La
$PWD
variable contient le chemin d'accès au répertoire actuel et${PWD##*/}
supprimera tout le contenu jusqu'au dernier/
chemin inclus dans ce chemin.Les guillemets simples empêchent le formulaire shell d'évaluer la substitution de variable au moment de l'affectation (la valeur de
$PS1
sera évaluée chaque fois que l'invite est affichée).La
PS1
variable ne doit pas être exportée car elle est uniquement utilisée par le shell actuel.la source
https://github.com/chrissound/SodiumSierraStrawberry
Vous permet de tronquer un chemin comme:
la source