Скрипт выполняется нормально. Если бы не было, это не привело бы к появлению всех этих ошибок.
У вас есть следующие проблемы:
1) В вашем каталоге ... \ test1 нет файлов с суффиксом .apk, и ваш скрипт не был написан для обработки такого рода ошибок. То же самое для * .odex.
2_ Сценарий предполагает создание каталогов none
и other
, но они уже существуют (и выглядят как файлы, а не каталоги), и у него нет знает, как с этим справиться, поэтому выводит ошибку.
Остальные ошибки связаны с вышеизложенным.
Предложения:
1) Если у вас нет файлов * .apk, закомментируйте весь оператор if
. В противном случае перейдите в каталог, в котором они есть.
2) Удалите файлы none
и other
, если они не требуются. Если они останутся в виде файлов, ваш скрипт никогда не создаст эти каталоги.
То, как я бы подходил к этому, - это петлю по каталогам, работает
в каждом, пока он не совпадает.
for dir in path1 path2 path3
do
echo "Searching $dir" >&2
match=$(find "$dir" -type f -name "filename" 2>/dev/null)
test -n "$match" && echo "$match" && break
done
Вы можете удалить два эхо
утверждения, если вы хотите тихое решение. На выходе из петли, если $ Match
не пустое, то он содержит полный путь и $ dir
содержит каталог верхнего уровня, под которым его можно найти.