Pokaż wiadomość, gdy cd do określonego katalogu


15

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:


25

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 % 

1
Nawiasem mówiąc, fajny pomysł! Podoba mi się, a może też go użyję :-)
Stéphane Gimenez

W tym przypadku nie ma znaczenia, ale ogólnie dobrze jest zawsze podwoić cudzysłów $@.
enzotib,

1
Dzięki, zastanawiam się teraz, czy jest jakikolwiek przypadek, w którym $@należy być lepszym od "$@"...
Stéphane Gimenez

1
Powinieneś użyć $@lub $*(są to te same, gdy nie są cytowane), jeśli chcesz, aby nastąpiło dzielenie słów IFS.
Chris Down,

W przypadku korzystania z tej metody nie zapomnij alias pushda popdtakże.
mVChr
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.