Если ваша оболочка bash
,zsh
или ksh93
вы можете воспользоваться встроенной функцией typeset -f
, которая показывает источник функции:
# usage patch_func funcname before after
function patch_func {
typeset nl=$'\n' lb={ src=`typeset -f "$1"` before=$2 after=$3
src="${src/$lb/$lb$nl $before$nl}"
src="${src%\}*}$nl $after$nl}"
eval "$src"
}
Пример:
$ deactivate(){ echo -n "{$0}"; for i; do echo -n " {$i}"; done; echo; }
$ patch_func deactivate 'echo before' 'echo after'
$ typeset -f deactivate
deactivate ()
{
echo before;
echo -n "{$0}";
for i in "$@";
do
echo -n " {$i}";
done;
echo;
echo after
}
Это, конечно, довольно хрупкий.
Если вы хотите отключить автоматическое создание списка каталогов (с помощью мода _автоиндекса , если index.html
отсутствует в каталоге ),вы можете отключить эту функцию для вашего каталога изображений в конфигурации Apache:
<Directory /var/www/html/images>
Options -Indexes
</Directory>
Файлы внутри каталога по-прежнему будут доступны по ссылкам, тегам изображений и т. д., это только запрещает листинг каталога.
Связанные: