Wie kann ich eine Nachricht anzeigen, wenn ich mich cd
in einem bestimmten Verzeichnis befinde? Dieses Verzeichnis ist lokal und ich brauche nur eine Erinnerung, wenn ich es vom Terminal aus betrete.
Wie kann ich eine Nachricht anzeigen, wenn ich mich cd
in einem bestimmten Verzeichnis befinde? Dieses Verzeichnis ist lokal und ich brauche nur eine Erinnerung, wenn ich es vom Terminal aus betrete.
Antworten:
Wenn ich Sie wäre, würde ich mit so etwas in meiner Shell-Konfigurationsdatei herumspielen (zB ~/.bashrc
):
reminder_cd() {
builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}
alias cd=reminder_cd
Auf diese Weise können Sie .cd-reminder
in jedem Verzeichnis, für das Sie eine Erinnerung erhalten möchten, eine Datei hinzufügen . Der Inhalt der Datei wird nach jeder erfolgreichen Übertragung cd
in das Verzeichnis angezeigt .
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 %
$@
.
$@
man den Vorzug geben sollte "$@"
...
$@
oder $*
(sie sind dasselbe, wenn sie nicht in Anführungszeichen stehen) verwenden, wenn IFS-Wordsplitting auftreten soll.
pushd
und popd
auch.