Jak mogę wyświetlić komunikat, gdy cdprzechodzę do określonego katalogu? Ten katalog jest lokalny i potrzebuję tylko przypomnienia, gdy wejdę do niego z terminala.
Jak mogę wyświetlić komunikat, gdy cdprzechodzę 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-reminderplik do każdego katalogu, dla którego chcesz otrzymać przypomnienie. Zawartość pliku będzie wyświetlana po każdym udanym cdprzejś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.
pushda popdtakże.