WindowsとUnixでいくつかのコマンドラインテストを自動化しようとしています。私はJava 1.6とApache Commons CLI 1.1を使用しています。私がJavaコードで行うことは、Apache Commons CLIのaddArgumentメソッドを使用して実行するコマンドを構築することです。私は私が実行したいコマンドラインを構築した後、私はので、私は、コマンドの終わりcloudscanOutputFilenameが入った文字列であるUnix上のJava Apache Commons CLI; >リダイレクトの代わりに実行可能ファイルの引数として扱われています
cloudscan_cmdl.addArgument(">");
cloudscan_cmdl.addArgument(cloudscanOutputFilename);
に以下を追加されたファイルへのパイプにコマンドの出力を望んでいましたfilename私は使いたいです。これはWindows上で正常に動作し、コマンドがビルドされ、リダイレクトされた2つの引数が追加され、ファイルが正常に作成されます。 Unixでは、しかし、それは実行可能ファイルへの追加の引数としての代わりに、リダイレクトとして>とファイル名の文字列を処理しています。
は、私はそれを直接コマンドライン上でそのようにタイプされたかのようにUnixのは、このコマンドを読むために取得するために何ができますか?私はコマンドを文字列として出力し、Unixではそれをコピーして貼り付け、期待どおりに動作しますが、Javaプログラムから実行すると、リダイレクトは正しく処理されません。
私は両方の真と偽ともないのに役立ちますような方法のaddArgument(文字列、ブール値)のバージョンを使用してみました。これは真剣に私を夢中にさせている。