Что не так в follwing - исполнительная команда

Я получаю ошибку в команде follwing

cd /opt/lampp/htdocs/EspoCRM-2.5.2 && find data -type d -exec chmod 775 {}

ошибка:

find: missing argument to `-exec'
1
задан 22 September 2014 в 11:27

3 ответа

Необходимо отметить должностное лицо, как закончено с \; команда была бы похожа:

cd /opt/lampp/htdocs/EspoCRM-2.5.2 && find data -type d -exec chmod 775 {} \;

BTW: Вам не нужно к CD в находку dir, может взять полный путь, где искать. Так

find /opt/lampp/htdocs/EspoCRM-2.5.2/data/ -type d -exec chmod 775 {} \;

должен также работать, как находят вызов.

5
ответ дан 10 November 2019 в 08:04

Необходимо закончить команду \;

Попытка это:

cd /opt/lampp/htdocs/EspoCRM-2.5.2 && find data -type d -exec chmod 775 {} \;
1
ответ дан 10 November 2019 в 08:04

Поскольку другие сказали, находка -exec потребности, которые будут завершены. Однако я на самом деле предложил бы использовать + вместо \;. Это только работает на некоторые команды, но использование + создаст и выполнит намного более эффективную команду.

Например, если у Вас есть три файла (a, b и c) в каталоге и Вы работаете find -exec echo {} \; это выполнится:

echo a
echo b
echo c

Однако, если Вы используете find -exec echo {} + это динамично выберет столько же аргументов сколько поддержка сред (существует предел), и, как xargs объединяет их в цепочку вместе... Таким образом, то, что на самом деле выполняется:

echo a b c

Как я сказал, прежде чем это будет только работать, если Ваша команда будет поддерживать несколько файлов за один раз. chmod одно из этого. Можно сказать путем взгляда на man chmod страница:

SYNOPSIS
       chmod [OPTION]... MODE[,MODE]... FILE...
       chmod [OPTION]... OCTAL-MODE FILE...
       chmod [OPTION]... --reference=RFILE FILE...

Замещающий знак на FILE... средства может потребоваться больше чем один файл.

Так да объединение в цепочку их всех вместе означает, что мы выполняем намного меньше экземпляров chmod который хорош, потому что существуют вполне большие издержки (на маленьких операциях как это) для того, чтобы отвалить новую команду.

Короче говоря, использование + быстрее.

3
ответ дан 3 December 2019 в 06:21

Другие вопросы по тегам:

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