Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/11/2015, à 11: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, à 12: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, à 11: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, à 11: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, à 11: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 big_smile


Ubuntu est un mot Africain qui veut dire:"Je n'ai pas réussi à configurer ma Debian"

Hors ligne

#5 Le 17/11/2015, à 11: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, à 11: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, à 12: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, à 12:26

lamoule74

Re : [RESOLU]variable bash afficher le dossier courant et non le chemin

très bien merci! sujet clos. smile


Ubuntu est un mot Africain qui veut dire:"Je n'ai pas réussi à configurer ma Debian"

Hors ligne