Autodesk Maya 2012 提供了“mayapy”——一个修改过的 python 构建,其中包含加载 Maya 文件所需的包并充当批处理工作的无头 3D 编辑器。我从 bash 脚本中调用它。如果该脚本在其中打开一个场景文件,cmds.file(filepath, open=True)
它会喷出一页页的警告、错误和其他我不想要的信息。我只想在 cmds.file 命令运行时关闭所有这些。
我尝试从我发送的 Python 命令内部重定向到 shell 脚本中的 mayapy,但这不起作用。我可以通过在对 bash 脚本的调用中将 stdout/err 重定向到 /dev/null 来使所有内容静音。有什么方法可以在对 shell 的调用中使其静音,但仍然允许我在脚本中传入的命令打印出信息?
测试.sh:
#!/bin/bash
/usr/autodesk/maya/bin/mayapy -c "
cmds.file('filepath', open=True);
print 'hello'
"
调用它:
$ ./test.sh # spews info, then prints 'hello'
$ ./test.sh > /dev/null 2>&1 # completely silent