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

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