プログラムの出力を別のディレクトリに即座にリダイレクトする

プログラムの出力を別のディレクトリに即座にリダイレクトする

$path_to_program通常、私は初期化ファイルを受け入れるプログラムを呼び出します。基本的にどのように実行しますか./program file.in?プログラムの起動後にいくつかのバイナリ出力ファイルを生成します(と呼びますout1, out2, out3)。

ただし、出力ファイルが書き込まれないように、すぐにout1, out2, out3別のディレクトリに移動したいと思います。これは可能ですか?$path_another$path_to_program

$path_another私のプログラムを内部で呼び出すなど、さまざまな標準的な方法を試しましたが、見つかりませんでし$path_to_program/program file.infile.in。私はさまざまな方法を見つけましたが、ほとんどが出力をファイル.txt.logリダイレクトします。重複した質問は申し訳ありませんが、有効な回答が見つかりません。

答え1

これを試してみましたか:

cd "${path_another}"
${path_to_program}/program "${path_to_program}/file.in"

上記の説明でI0b0が言ったように、プログラムはおそらく "file.in"が現在のディレクトリ(ここ${path_another})に相対的であると予想します。プログラムと同じディレクトリにある場合は、ファイルパスを指定する必要があります。

関連情報