事前定義された入力でプログラムをテストする「run」と呼ばれるbashスクリプトを書いています。
最初のパラメーターとしてファイルを取り、次に2番目のパラメーターとしてプログラムを取ります。
呼び出しは次のようになります
./run text.txt ./check
たとえば、プログラム「run」は、text.txtを入力として「check」を実行します。これにより、プログラムでのテスト時間を大幅に節約できます。
今私は持っています
$2 < text.txt > text.created
したがって、text.txtを受け取り、それを入力として指定されたプログラムにリダイレクトします。これは2番目の引数です。次に、結果をtext.createdにダンプします。
text.txtに入力があり、出力がどのようになるかはわかっていますが、text.createdをcatすると、空になります。
ファイルを入力としてプログラムを実行する適切な方法を知っている人はいますか?これは私には直感的に思えますが、「run」スクリプトで実行していることではなく、「check」プログラムに何か問題がある可能性がありますか?
ありがとう!どんな助けでも常に感謝しています!
編集:ファイルtext.txtには、プログラム'check'の入力がある複数行のファイルが含まれています。
つまり、text.txtには次のものが含まれる可能性があります
asdf1.txt asdf2.txt asdf3.txt
asdf1.txt、asdf2.txt、asdf3.txtの各ファイルでテストチェックを行いたい。