Afficher le message lorsque le CD dans un répertoire spécifique


15

Comment puis-je afficher un message lorsque je suis cddans un répertoire spécifique? Ce répertoire est local et j'ai juste besoin d'un rappel lorsque j'y vais depuis le terminal.

Réponses:


25

Si j'étais vous, je jouerais avec quelque chose comme ça dans mon fichier de configuration shell (par exemple ~/.bashrc):

reminder_cd() {
    builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}

alias cd=reminder_cd

De cette façon, vous pouvez ajouter un .cd-reminderfichier dans chaque répertoire pour lequel vous souhaitez obtenir un rappel. Le contenu du fichier sera affiché après chaque succès cddans le répertoire.

gim@tenebreuse ~/tmp % echo 'warning: this directory is pure junk' > .cd-reminder
gim@tenebreuse ~/tmp % cd ..
gim@tenebreuse ~ % cd tmp
warning: this directory is pure junk
gim@tenebreuse ~/tmp % 

1
Idée sympa au fait! J'aime ça, et peut-être que je vais l'utiliser aussi :-)
— Stéphane Gimenez

Pas importat dans ce cas, mais en général il est bon de toujours citer deux fois $@.
— enzotib

1
Merci, je me demande maintenant s'il y a des cas où on $@devrait préférer "$@"…
— Stéphane Gimenez

1
Vous devez utiliser $@ou $*(c'est la même chose sans guillemets) lorsque vous souhaitez que le fractionnement de mots IFS se produise.
— Chris Down

Si vous utilisez cette méthode, n'oubliez pas d'alias pushdet popdaussi.
— mVChr
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.