Как я могу отобразить сообщение, когда я cd
в определенном каталоге? Этот каталог является локальным, и мне просто нужно напоминание, когда я захожу в него из терминала.
Как я могу отобразить сообщение, когда я cd
в определенном каталоге? Этот каталог является локальным, и мне просто нужно напоминание, когда я захожу в него из терминала.
Ответы:
На вашем месте я бы поиграл с чем-то подобным в моем файле конфигурации оболочки (например ~/.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 %
$@
.
$@
следует отдать предпочтение "$@"
...
$@
или $*
(они одинаковы, когда не заключены в кавычки), если вы хотите, чтобы произошло разделение слов IFS.
pushd
а popd
также.