WindowsとUnixでいくつかのコマンドラインテストを自動化しようとしています。これを行うために、Java1.6とApacheCommonsCLI1.1を使用しています。Javaコードで行うことは、ApacheCommonsCLIのaddArgumentメソッドを使用して実行するコマンドを作成することです。実行したいコマンドラインを作成した後、コマンドの出力をファイルにパイプしたかったので、コマンドの最後に以下を追加しました
cloudscan_cmdl.addArgument(">");
cloudscan_cmdl.addArgument(cloudscanOutputFilename);
ここで、cloudscanOutputFilenameは、使用するファイル名を含む文字列です。これはWindowsで正常に機能し、コマンドが作成され、リダイレクトされた2つの引数が追加され、ファイルが正常に作成されます。ただし、Unixでは、>とファイル名文字列をリダイレクトではなく実行可能ファイルへの追加の引数として扱います。
Unixにこのコマンドをコマンドラインで直接入力したかのように読み取らせるにはどうすればよいですか?コマンドを文字列として出力し、Unixでコピーして貼り付けましたが、期待どおりに機能しますが、Javaプログラムから実行すると、リダイレクトが正しく処理されません。
メソッドのaddArgument(string、boolean)バージョンをtrueとfalseの両方として使用してみましたが、どちらも役に立ちません。これは私を真剣に夢中にさせています。