我正在使用一个生成大量输出到 stderr 的库(实际上没有办法直接在代码中抑制输出;它是 ROOT 的 Minuit2 最小化器,它以无法抑制输出而闻名)。我正在通过 LSF 系统运行批处理作业,并且错误输出文件太大以至于超出了我的磁盘配额。呃。
当我在 shell 上本地运行时,我会:
python main.py 2> >( grep -v Minuit2 2>&1 )
抑制输出,就像这里所做的那样。 这很好用,但不幸的是,在 LSF 上运行时,我似乎无法让它或它的任何变体工作。我认为这是由于 LSF 没有产生必要的子外壳,但目前尚不清楚。
我通过向 LSF 传递提交脚本来批量运行。相关线路是:
python main.py $INPUT_FILE
除了前面提到的巨大错误文件的问题之外,它的效果很好。
当我尝试将该行更改为
python main.py $INPUT_FILE 2> >( grep -v Minuit2 2>&1 )
我最终得到
./singleSubmit.sh: line 16: syntax error near unexpected token `>'
./singleSubmit.sh: line 16: `python $MAIN $1 2> >( grep -v Minuit2 2>&1 )'
在错误日志文件中。
知道如何完成我想要的,或者为什么这不起作用?
万分感谢!