#1 Le 17/11/2015, à 10:41
- lamoule74
[RESOLU]variable bash afficher le dossier courant et non le chemin
Bonjour,
y a t il un moyen d'afficher le dossier courant et non le répertoire courant ?
par exemple,
echo $PWD
retourne :
/tout_le_chemin/le_dossier_actuel
et je voudrai faire afficher juste:
/le_dossier_actuel
le but de tout ça est d'alléger mon prompt car mon .bashrc me formate mon prompt de telle manière :
[utilisateur:tout_le_chemin] (branche_git_optionnelle)
Ce qui est fâcheux car je me retrouve souvent avec un chemin énorme et mon terminal me fait des retours à la ligne sur les grosses commandes...
merci d'avance.
Dernière modification par lamoule74 (Le 17/11/2015, à 11:28)
Ubuntu est un mot Africain qui veut dire:"Je n'ai pas réussi à configurer ma Debian"
Hors ligne
#2 Le 17/11/2015, à 10:45
- Shanx
Re : [RESOLU]variable bash afficher le dossier courant et non le chemin
Salut,
Dans la définition de ton prompt, il faut mettre \W pour n'avoir que le repertoire (et \w pour avoir tout le chemin).
Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied
Hors ligne
#3 Le 17/11/2015, à 10:46
- pingouinux
Re : [RESOLU]variable bash afficher le dossier courant et non le chemin
Bonjour,
dossier et répertoire sont des synonymes.
$ echo "$PWD"
/media/data
$ echo "${PWD##*/}"
data
Hors ligne
#4 Le 17/11/2015, à 10:52
- lamoule74
Re : [RESOLU]variable bash afficher le dossier courant et non le chemin
grand succès ! merci à toi.
et juste pour info il n'existe pas de variable comme $PWD qui donne accès au même résultat ?
un peu comme si je faisais:
mavar=`\W`
echo $mavar
(bon sauf que j'ai essayé juste en tapant ça dans le terminal ça ne marche pas
Ubuntu est un mot Africain qui veut dire:"Je n'ai pas réussi à configurer ma Debian"
Hors ligne
#5 Le 17/11/2015, à 10:53
- lamoule74
Re : [RESOLU]variable bash afficher le dossier courant et non le chemin
wouh, pingouinuxtrop rapide pour moi;
merci
je ne comprends pas la commande par contre, ça te dérange pas de me l'expliquer ?
Dernière modification par lamoule74 (Le 17/11/2015, à 10:53)
Ubuntu est un mot Africain qui veut dire:"Je n'ai pas réussi à configurer ma Debian"
Hors ligne
#6 Le 17/11/2015, à 11:11
- pingouinux
Re : [RESOLU]variable bash afficher le dossier courant et non le chemin
echo "${PWD##*/}"
On supprime tous les caractères au début du chemin jusqu'au dernier /
Voici un extrait de man bash, rubrique Parameter Expansion
${parameter#word}
${parameter##word}
Remove matching prefix pattern. The word is expanded to produce
a pattern just as in pathname expansion. If the pattern matches
the beginning of the value of parameter, then the result of the
expansion is the expanded value of parameter with the shortest
matching pattern (the ``#'' case) or the longest matching pat‐
tern (the ``##'' case) deleted. If parameter is @ or *, the
pattern removal operation is applied to each positional parame‐
ter in turn, and the expansion is the resultant list. If param‐
eter is an array variable subscripted with @ or *, the pattern
removal operation is applied to each member of the array in
turn, and the expansion is the resultant list.
Hors ligne
#7 Le 17/11/2015, à 11:26
- lamoule74
Re : [RESOLU]variable bash afficher le dossier courant et non le chemin
très bien merci! sujet clos.
Ubuntu est un mot Africain qui veut dire:"Je n'ai pas réussi à configurer ma Debian"
Hors ligne