Вот одна из возможностей, если ваши пользователи получают доступ к каталогу через командную строку:
Переопределите встроенную команду оболочки cd
в глобальном файле rc
чтобы проверить, присутствует ли файл .readme
в текущем каталоге и, если да, отобразить его (с некоторыми хорошими оптическими элементами).
а. С zsh
(/etc/zshrc
) вы можете использовать специально разработанную функцию ловушки (chpwd
), которая вызывается при изменении текущего рабочего каталога :
function chpwd {
if [[ -e .readme ]]; then
echo
echo \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
cat .readme
echo \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
echo
fi }
б. Я не знаю, есть ли подобная возможность в bash
, однако вы можете переопределить cd
в /etc/bash.bashrc
:
cd() {
builtin cd "$@"
if [[ -e .readme ]]; then
echo
echo \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
cat .readme
echo \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
echo
fi
}
с. И наконец то же самое с синтаксисом csh
(/etc/csh.cshrc
):
alias cd 'cd \!*; eval "if (-e .readme) then \\
echo \\
echo ################################################################################ \\
cat .readme \\
echo ################################################################################ \\
echo \\
endif"'
И вот как это выглядит:
user@machine:~> cd temp
################################################################################
Attention! This is a temporary directory!
################################################################################
user@machine:~/temp>