Autodesk Maya 2012 は、「mayapy」を提供します。これは、Maya ファイルをロードし、バッチ作業用のヘッドレス 3D エディタとして機能するために必要なパッケージで満たされた Python の modded ビルドです。私はbashスクリプトから呼び出しています。そのスクリプトが でシーン ファイルを開くとcmds.file(filepath, open=True)
、警告、エラー、その他の不要な情報のページが表示されます。cmds.file コマンドの実行中にのみ、すべてをオフにしたいと考えています。
シェル スクリプト内で mayapy に送信している Python コマンド内からリダイレクトしようとしましたが、うまくいきません。bash スクリプトの呼び出しで stdout/err を /dev/null にリダイレクトすることで、すべてを黙らせることができます。シェルへの呼び出しでそれを黙らせる方法はありますが、スクリプト内で渡されたコマンドが情報を出力できるようにしますか?
test.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