Jak mogę wyświetlić komunikat, gdy cd
przechodzę do określonego katalogu? Ten katalog jest lokalny i potrzebuję tylko przypomnienia, gdy wejdę do niego z terminala.
Jak mogę wyświetlić komunikat, gdy cd
przechodzę do określonego katalogu? Ten katalog jest lokalny i potrzebuję tylko przypomnienia, gdy wejdę do niego z terminala.
Odpowiedzi:
Gdybym był tobą, bawiłbym się czymś takim w moim pliku konfiguracyjnym powłoki (np. ~/.bashrc
):
reminder_cd() {
builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}
alias cd=reminder_cd
W ten sposób możesz dodać .cd-reminder
plik do każdego katalogu, dla którego chcesz otrzymać przypomnienie. Zawartość pliku będzie wyświetlana po każdym udanym cd
przejściu do katalogu.
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 %
$@
.
$@
należy być lepszym od "$@"
...
$@
lub $*
(są to te same, gdy nie są cytowane), jeśli chcesz, aby nastąpiło dzielenie słów IFS.
pushd
a popd
także.