Показать сообщение, когда компакт-диск в определенный каталог


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
Классная идея, кстати! Мне это нравится, и, возможно, я тоже буду его использовать :-)
Стефан Гименес

Не импортировать в этом случае, но в целом это хорошо, чтобы всегда заключать двойные кавычки $@.
энзотиб

1
Спасибо, я теперь задаюсь вопросом, есть ли какой-нибудь случай, где $@следует отдать предпочтение "$@"...
Стефан Гименес

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

Если вы используете этот метод, не забудьте псевдоним, pushdа popdтакже.
mVChr
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.