J'utilise Ubuntu et je suis fatigué de ces longues invites dans bash lorsque je travaille avec une hiérarchie de répertoire profonde. J'aimerais donc modifier mon PS1 pour raccourcir la partie du répertoire de travail de la manière suivante :
Actuellement, j'ai :
pajton@dragon:~/workspace/projects/project1/folder1/test$
et que vous aimeriez avoir :
pajton@dragon:~/workspace/.../folder1/test$
La troncature se produirait si len($PWD) dépasse un seuil donné. Je veux toujours garder le premier composant du chemin et au moins un dernier composant du chemin. Puis, si l'espace le permet, ajouter d'autres composants en partant de la droite.
C'est ce que j'ai actuellement. Cela fonctionne, mais : 1) ne garde pas le premier composant du chemin, 2) ne respecte pas le chemin de coupe aux frontières :
pwd_length=14
pwd_symbol="..."
newPWD="${PWD/#$HOME/~}"
if [ $(echo -n $newPWD | wc -c | tr -d " ") -gt $pwd_length ]
then
newPWD="...$(echo -n $PWD | sed -e "s/.*\(.\{$pwd_length\}\)/\1/")"
else
newPWD="$(echo -n $PWD)"
fi
Et le résultat :
pajton@dragon:...sth/folder1/sample$
Merci d'avance !