保存for循环中每个命令的输出

时间:2014-08-13 06:52:55

标签: bash shell

我需要保存for循环中每个命令的输出。我的代码如下所示,但它没有保存日志文件。

count=60
for d in /afs/cern.ch/user/r/rasharma/work/TBA/Data/Run06*
do
        echo $d
        echo "./shrd51_EventBuilderVFAT.sh $d"
        ./shrd51_EventBuilderVFAT.sh $d | tee $count_EventBuilder.log
        echo "./shrd51_TrackFinder.sh $d"
        ./shrd51_TrackFinder.sh $d | tee $count_TrackFinder.log
        echo "./shrd51_Analyzer.sh $d 0$count"
        ./shrd51_Analyzer.sh $d 0$count | tee $count_Analyzer.log
        count=$((count+1))
done

1 个答案:

答案 0 :(得分:6)

问题是,$count_Analyzer.log的展开方式与${count_Analyzer}.log相同,即变量count_Analyzer的值后跟字符串.log。由于该变量不存在,您将拥有一个隐藏文件.log all 输出。

您想要${count}_Analyzer.log

好运找到粒子!