Похоже, это предполагаемое поведение переменной COPROC_PID
, хотя это не задокументировано в руководстве Bash.
Правильный обходной путь — сделать именно то, что вы сделали; сохраните значение $COPROC_PID
в переменной, которая не будет сброшена при выходе из сопроцесса.
Обратите внимание, что это не не сработает, если совместный процесс завершится до того, как вы успеете получить его PID, поэтому может быть разумно убедиться, что ваша переменная имеет значение, прежде чем использовать ее.
find
будет лучше:
find. -type f -size +9999999c
Замените .
каталогом.