Результаты не использования '{}' в find /mnt/tmp -atime +91 -exec rm -f {} \;?

Я использовал следующий код для самой длинной системы, которую я взял на себя:

find /mnt/tmp -atime +91 -exec rm -f {} \;

Однако, продолжая исследование, я вижу, что все говорят, что фигурные скобки должны быть заключены в одинарные кавычки, как показано ниже:

find /mnt/tmp -atime +91 -exec rm -f '{}' \;

У меня никогда раньше не было проблем, но мне любопытно, какое отрицательное влияние может оказать отсутствие использования одинарных кавычек. Также любопытно, если он варьируется в зависимости от вкуса Linux?

Серверы Ubuntu.

1 ответ

Решение

Влияние, о котором вы говорите, проявится, если в ваших именах файлов есть "специальные" символы (в отличие от специальных символов типа regex). Наиболее очевидным было бы, если у вас есть файл с именем foo /* - ваша команда rm пошла бы и удалила foo затем /* без одинарных кавычек, которые вы, вероятно, не хотели бы.

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