Иначе должен был бы использовать, находят и xargs: (это могло бы включать a"." каталог в zip, но это должно все еще извлечь правильно. С моим тестом zip разделила точку перед сжатием), find . -type f -exec zip zipfile.zip {} +
( +
может быть заменен \;
если Ваша версия find
не поддерживает +
конец для должностного лица. Это будет медленнее хотя...),
Это будет по умолчанию включать все подкаталоги. На GNU находят -maxdepth
может предотвратить это.
Ваша первая попытка была корректна; 2>filename
то, как Вы перенаправляете stderr. Может иметь место, что Ваша программа пишет некоторые неошибки в stderr, или программа Java запускает другие программы, которые производят к stderr.
Простой ответ - то, что это не возможно. Стандартная погрешность используется для записи диагностического вывода, и это до приложений для определения то, что является диагностикой/выводом ошибок. Это согласно стандарту POSIX.