Показати повідомлення, коли CD в конкретний каталог


15

Як я можу відобразити повідомлення, коли я cdвходжу в певний каталог? Цей каталог локальний, і мені просто потрібно нагадування, коли я заходжу в нього з терміналу.

Відповіді:


25

Якби я був ти, я б іграв навколо себе щось подібне у своєму конфігураційному файлі оболонки (наприклад ~/.bashrc):

reminder_cd() {
    builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}

alias cd=reminder_cd

Таким чином, ви можете додати .cd-reminderфайл у кожен каталог, для якого ви хочете отримати нагадування. Вміст файлу буде відображатися після кожного успішного cdв каталозі.

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
Класна ідея до речі! Мені це подобається, і, можливо, я його також буду використовувати :-)
Stéphane Gimenez

У цьому випадку не важливо, але в цілому добре бути завжди подвійною цитатою $@.
enzotib

1
Дякую, зараз мені цікаво, чи є випадок, коли $@слід віддати перевагу над "$@"
Stéphane Gimenez

1
Ви повинні використовувати $@або $*(вони одне і те ж, коли вони не цитуються), коли ви хочете, щоб IFS розшифрував слово.
Кріс Даун

Якщо ви використовуєте цей метод, не забудьте також псевдонім pushdі popdтакож.
mVChr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.