Я пытаюсь запустить скрипт bash в Linux (ubuntu, но также и в fedora), но команда find не работает.
search=\"*${exten[iterext]}\"
find $direc{iterdir} $r_option -iname $search exec -rm {} \\\;
Теперь поясним переменные: Exten — это массив с расширениями файлов, считанными из текстового файла (здесь нет проблем); direc также является массивом каталогов, считанных из командной строки. Iterdir и iterext — целочисленные циклические переменные.
Теперь у меня две проблемы:
1- Эта команда поиска не будет удалена или отображена, если я запущу ее внутри скрипта; однако, если я поставлю эхо перед поиском и скопирую вывод в командную строку, поиск работает нормально. Я пробовал скрипт под Ubuntu и Fedora, поэтому я предполагаю, что это не проблема конфигурации bash. Я должен отметить, что проблема связана с $search, поскольку я заменил $search на жестко закодированную строку (например, «* txt»), и она работает внутри скрипта, поэтому, похоже, это проблема с кавычками.
2 - я запускаю всю эту команду find, а также получаю аргумент find:missing для '-exec'
Пожалуйста, помогите :-( это сводит меня с ума.