以下は、引数/入力ファイルinput
に実行可能ファイル./runnable
を実行するために書いたスクリプトです。ファイルを読み取っているときのbashスクリプトのエラー
final_file
という別のファイルから標準入力を受け取り、outfile
というファイルに出力します。 final_file
に91行(すなわち、91個の異なる標準スペースで区切られた入力)があるので、bashスクリプトは./runnable
入力を91回呼び出す必要があります。
しかし、なぜそれが1回だけ呼び出すのかわかりません。何が起こっているのかについての提案は間違っていますか?明確にするために
#!/bin/bash
OUTFILE=outfile
(
a=0
while read line
do
./runnable input
echo "This is line number: $a"
a='expr $a+ 1'
done<final_file
) >$OUTFILE
、final_file
はそうで
_ _DATA_ _
2,9,2,9,10,0,38
2,9,2,10,11,0,0
2,9,2,11,12,0,0
2,9,2,12,13,0,0
2,9,2,13,0,1,4
2,9,2,13,3,2,2
とのように見えます。一度に1行が標準入力です。 final_file
の行数は、標準入力が与えられた回数に対応します。したがって、上記の場合、スクリプトは6行と同じくらい6回実行する必要があります。
@Zan:それはスクリプトを休ま「finalfile」の最初の行のみを読み取り、されていないという事実を確認して行います。しかし、私はこの問題を解決する方法、または同じことをしていることをやっていることを知りたい。 – shubster