Пример команды, использованной в bash script:
find '/Files' -type d -name temp* -depth -delete -print
Эта команда должна удалить все папки, имена которых начинаются с «temp» в папке «/ Files» и ее подпапках («temp0») , "temp1", "temp2" et c.).
Скрипт работает как положено, папки найдены и правильно удалены.
Но иногда, для некоторых пользователей, на некоторых компьютерах и др c. Скрипт не работает должным образом, несмотря на тот факт, что папки и файлы абсолютно одинаковы.
Сбой команды поиска:
find /Files -type d -name tempta temptal -depth -delete -print
find: temptal: unknown primary or operator
Я не могу найти, где "tempta" и "temptal" идут - у меня нет файлов с такими именами в папке. Папки Temp * присутствуют, но не удаляются из-за этой ошибки.
Единственное, что может быть связано, - это два файла с именами «AbcInstall. sh» и «AbcInstall.log» в подпапке «AbcTemp». , Таким образом, у нас есть "та" и "Тал" плюс "Темп". Это элементы, которые напоминают «tempta» и «temptal», но они не имеют никакого реального смысла - это может быть совпадением.
Как «найти» результат может преобразоваться в нечто подобное!?!
Извините за отсутствие лучшего объяснения - эта проблема действительно странная. Проблема в том, что я не могу воспроизвести эту проблему на своем компьютере, поэтому все, что я могу сделать, это экспериментировать (пока безуспешно).
Любые советы или идеи очень ценятся.
Спасибо!