сокрытие php файла/папки с php файлом от пользователя FTP

Это было бы

if [ -n "$(find /var/log/crashes -name app-\*\.log -mmin -5)" ]; then

или

if test -n "$(find /var/log/crashes -name app-\*\.log -mmin -5)"; then

Команды test и [ … ] точно синонимичны. Единственной разницей является их имя и факт это [ требует закрытия ] как его последний аргумент. Как всегда, используйте двойные кавычки вокруг замены команды, иначе вывод find команда будет повреждена в слова, и здесь Вы получите синтаксическую ошибку, если будет больше чем один файл соответствия (и когда нет никаких аргументов, [ -n ] верно, тогда как Вы хотите [ -n "" ] который является ложью).

В ksh, ударе и zsh, но не в пепле, можно также использовать [[ … ]] который имеет различные правила парсинга: [ обычная команда, тогда как [[ … ]] другая конструкция парсинга. Вам не нужны двойные кавычки внутри [[ … ]] (хотя они не причиняют боль). Вам все еще нужно ; после команды.

if [[ -n $(find /var/log/crashes -name app-\*\.log -mmin -5) ]]; then

Это может потенциально быть неэффективно: если существует много файлов в /var/log/crashes, находка исследует их всех. Необходимо сделать, находят остановку, как только она находит соответствие, или вскоре после. С GNU находят (не встроил Linux, Cygwin), используйте -quit основной.

if [ -n "$(find /var/log/crashes -name app-\*\.log -mmin -5 -print -quit)" ]; then

С другими системами, каналом find в head по крайней мере, выходить вскоре после первого соответствия (находка умрет от поврежденного канала).

if [ -n "$(find /var/log/crashes -name app-\*\.log -mmin -5 -print | head -n 1)" ]; then

(Можно использовать head -c 1 если Ваш head управляйте поддерживает его.)


С другой стороны, используйте zsh.

crash_files=(/var/log/crashes/**/app-*.log(mm-5[1]))
if (($#crash_files)); then
0
06.09.2013, 11:03
1 ответ

Можно скрыть те файлы с помощью директивы HideFiles. Затем необходимо рассматривать те файлы, как будто они не существуют, с помощью директивы IgnoreHidden.

1
28.01.2020, 02:53

Теги

Похожие вопросы