Іноді я бачу таку команду:
find . -name * -exec ls -a {} \;
Мене попросили виконати.
Що {} \;тут означає?
-name *гірше зайвого. Оскільки *обоє не котирується, оболонка розширює його до списку імен файлів у поточній папці, при цьому помилки неправильно обробляються, що призводить до несподіваних результатів або повідомлення про помилку. В якості додаткового пункту, findє багато функцій, одна з яких полягає у переліку файлів; це дозволяє уникнути використання -exec. Наприклад, ви можете використовувати find . -printабо find . -ls. Нарешті, є два шляхи , щоб уникнути коми: або , як ви зробили з зворотним косими рисами, \;або процитувати: ';'. Використовуйте те, що вам більше комфортно.

-name *є зайвим.