прошу прощения за совершенно тупой вопрос
вот пример команды
find /path/to/files -type f -exec chmod 0644 {} \;
Все мне понятно в ней (абсолютно)
ищем файлы
find /path/to/files -type f
вот это вот порождает дочерний процесс для выполнени команды chmod
chmod 0644
А вот что это вот означает совершенно запамятовал
{} \;
Что это означает??? Могу предположить что в скобках выполняется подскрипт
> А вот что это вот означает совершенно запамятовал
> {} \;Могу ошибаться, но вместо {} подставляется имя файла, а \; означает конец команды, которую будет -exec исполнять. Здесь точку с запятой приходится экранировать, чтобы шелл не подумал, что это две отдельных команды.
> Что это означает??? Могу предположить что в скобках выполняется подскриптЧтение манов полностью развеяло бы все ваши непонятки.
в опции "-exec chmod 0644 {} \;" конструкт "{}" имеет семантику "каждый найденный файл".
Конструкция "\;" означает "конец секции exec". Это делается для того, чтобы точку с запятой можно было использовать внутри вызываемой экзеком команды.
>> Что это означает??? Могу предположить что в скобках выполняется подскрипт
> Чтение манов полностью развеяло бы все ваши непонятки.
> в опции "-exec chmod 0644 {} \;" конструкт "{}" имеет семантику
> "каждый найденный файл".
> Конструкция "\;" означает "конец секции exec". Это делается для того, чтобы точку
> с запятой можно было использовать внутри вызываемой экзеком команды.Спасибо Большое ! Вы очень помогли
>> Что это означает??? Могу предположить что в скобках выполняется подскрипт
> Чтение манов полностью развеяло бы все ваши непонятки.
> в опции "-exec chmod 0644 {} \;" конструкт "{}" имеет семантику
> "каждый найденный файл".Строка `{} 'заменяется на имя текущего обрабатываемого файла везде,
где он встречается в аргументах команды при -exec
То есть можно вот такfind . -name *.sh -exec sha1sum {} md5sum {} \;