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.