PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Etenil : Raccourcir le prompt de Bash

vendredi 5 avril 2013 à 12:39

Par défaut, le prompt de bash affiche le chemin complet vers le dossier courant. C'est parfois ennuyeux car après une certaine profondeur de navigation, le chemin dépasse largement la taille du terminal et donc se plie; comme par exemple:

guillaume@chaource:/sys/class/rfkill/rfkill0/subsystem/rfkill0/device/subsystem/
    phy0/device/leds $

Donc pour palier ce problème, voici une petite fonction bash à coller dans votre prompt afin d'y voir un peu plus clair:

shortwd() {
        num_dirs=3
        pwd_symbol="..."
        newPWD="${PWD/#$HOME/~}"
        if [ $(echo -n $newPWD | awk -F '/' '{print NF}') -gt $num_dirs ]
        then
             newPWD=$(echo -n $newPWD | awk -F '/' '{print $1 "/.../" $(NF-1) "/" $(NF)}')
        fi
        echo -n $newPWD
    }

PS1='\\u@\\h:$(shortwd) \\$ '

Ce qui donne ça:

guillaume@chaource:/.../device/leds $

Attention, si vous utilisez des guillemets doubles pour la définition du prompt, il faudra penser à échapper l'appel de la fonction comme ceci:

PS1="\\u@\\h:\\$(shortwd) \\$ "

Gravatar de Etenil
Original post of Etenil.Votez pour ce billet sur Planet Libre.