0

5 つのスクリプト ファイルを通過し、t1-5 の内容を入力として使用してそれらを実行し、出力をログ ファイルに追加するスクリプトを作成しようとしていますが、機能していないようです。t 変数の数を表す変数 i をインクリメントしようとしています。私はそれを正しくやっていますか?そして、この出力リダイレクトは、すべての結果が同じファイルに追加されることを確認していますか?

t1=`cat t1`
t2=`cat t2`
t3=`cat t3`
t4=`cat t4`
t5=`cat t5`

cd ..
cd tmp

i=1

for g in `ls`
do
    sh "$g" "t$i" > 0572log 
    i=$((i + 1)
done
4

1 に答える 1

1

まず、i=$((i + 1)する必要がありますi=$((i + 1))

第二に、上書きではなく追加する> 0572log必要があります。>> 0572log

第 3 に、スクリプトを複数回実行することが予想される場合は、ディレクトリではなく0572log別の場所 (例: ../0572log) に配置することをお勧めしますtmp。そうしないと、次にスクリプトを実行したときに実行が試みられ0572logます。

空白のない単純なファイル名の場合は、前後の引用符は必要$gありません。t$i

于 2013-03-20T17:17:07.683 に答える