Shell : Afficher le dossier après la commande « cd »

Je me perds régulièrement quand je fais un « cd » sous un terminal Unix et j’imagine que je ne suis pas le seul. Je suis donc parti à la recherche d’une solution pour savoir où j’en étais et j’ai trouvé le Graal. En réalité j’ai trouvé les Graals. Voilà à quoi ressemble mon terminal maintenant :

Exemples

Graal n°1

[root@vm:/root] # mkdir exemple
[root@vm:/root] # cd exemple/
[root@vm:/root/exemple] #

Graal n°2

[root@vm] # mkdir exemple
[root@vm] # cd exemple/
/root/exemple
[root@vm] #

Premier Graal : Modification du prompt

Définition

Pour modifier le prompt il faut modifier le variable d’environnement PS1 :

export PS1='[u@h] $(pwd) $ '

Dans cet exemple :

  • u : défini le nom de l’utilisateur
  • h : défini le hostname
  • $(pwd) : défini le chemin courant (peut être remplacé par w ou W)
    • w : donne le chemin complet
    • W : donne juste le dernier dossier

D’autres options

D’autres options peuvent être utilisées pour la variable PS1, en voici une liste :

  • Date
    • $(date +%k:%M:%S) : 11:30:13
    • t : 11:30:13
    • @ : 11:30 AM
  • Système d’exploiation
    • $(uname -r)
  • Appeler un script
    • $(/home/olivier/myscript.sh)
    • exemple :
      NB=`ls -1 | wc -l`
      if [ $NB -eq 1 -o $NB -eq 0 ]
      then
      	echo "$NB file"
      else
      	echo "$NB files"
      fi

L’intégrer à chaque connexion

Il suffit de l’ajouter au fichier ~/.bashrc et vous pourrez l’utiliser à chaque connexion.

Second Graal : Surcharge de la commande « cd »

La deuxième solution est à utiliser avec parcimonie : je vous déconseille de l’utiliser en production car elle surcharge une commande du système.

Définition

Voici la fonction « cd », elle est chargée de remplacer le « cd »habituel en affichant le dossier courant après avoir changé de dossier.

function cd() {
    builtin cd $1; # Changement de dossier (appel au "cd" de l'OS)
    pwd; # Affichage du dossier courant
}

Voici quelques exemples sur lequels ce Graal fonctionne :

cd exemple/
cd ..
cd /
cd ~
cd

L’intégrer à chaque connexion

Comme pour le Graal n°1, il suffit de l’ajouter au fichier ~/.bashrc pour pouvoir l’utiliser à chaque connexion.

Complément

Vous pouvez également utiliser cette fonction « cd » pour lancer un listing des fichiers « ls -l » ou un « clear ».

Tagués avec : , , ,
Publié dans Linux

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*