我试图处理for循环中命令的意外输出。我正在使用专有的解压缩实用程序( mfunzip ),但是当实用程序遇到损坏的文件时,它开始在InputBit中回显出无穷无尽的致命错误!"消息。
我正在尝试捕获输出并继续循环到下一个文件。
for FILE in $(ls); do
if [ -d "$FILE" ]; then
...
...
# without command output, it runs indefinitely
output=$(mfunzip $currentfile $extractdir)
# it never reaches here
echo $output
if [[ $output = *Fatal* ]]; then
continue
fi
fi
done
然而它似乎没有工作,因为它阻挡在输出= $(mfunzip ...) ...我会假设它无休止地输出到 $输出即可。另一个问题似乎是"致命错误"可能不会立即显示,而是尝试 mfunzip 文件的中途。
有没有更好的方法来处理这种类型的输出?