- 论坛徽章:
- 0
|
为什么我第一次调用iops_numjobs_1[0]和iops_numjobs_2[0]和iops_numjobs_3[0]和iops_numjobs_4[0]正常输出;
第二次在循环外调用时则为0了呢,就好像从未赋值过。
- function numjobs_4_result()
- {
- printf "have turn to numjobs_4_result"
- for rw in randwrite randread write read
- do
- for bs in 4k 16k 128k 1M
- do
- for iodepth in 1 8
- do
- for size in 30% 50% 85%
- do
- #for dev in `lsscsi|awk -F '/' '{print $NF}'`
- for dev in sdz
- do
- ls $Cur_Dir/result/dev/$dev|grep "^$rw-$bs-4-$iodepth-$size--log2_iops."|cut -d "." -f 2 |while read line
- do
- log_num=`echo $line%4|bc`
- if [ "$log_num" == 1 ];then
- iops_numjobs_1=($(awk -F ',' '{print $2}' $Cur_Dir/result/dev/$dev/$rw-$bs-4-$iodepth-$size--log2_iops.$line.log))
- elif [ "$log_num" == 2 ];then
- iops_numjobs_2=($(awk -F ',' '{print $2}' $Cur_Dir/result/dev/$dev/$rw-$bs-4-$iodepth-$size--log2_iops.$line.log))
- elif [ "$log_num" == 3 ];then
- iops_numjobs_3=($(awk -F ',' '{print $2}' $Cur_Dir/result/dev/$dev/$rw-$bs-4-$iodepth-$size--log2_iops.$line.log))
- elif [ "$log_num" == 0 ];then
- iops_numjobs_4=($(awk -F ',' '{print $2}' $Cur_Dir/result/dev/$dev/$rw-$bs-4-$iodepth-$size--log2_iops.$line.log))
- else
- printf "something wrong \n"
- fi
- [fly]echo -e "${iops_numjobs_1[0]}" "${iops_numjobs_2[0]}" "${iops_numjobs_3[0]}" "${iops_numjobs_4[0]}"[/fly][fly]此时调用可正常输出内容[/fly]
- done
- echo -e "${iops_numjobs_1[0]}" "${iops_numjobs_2[0]}" "${iops_numjobs_3[0]}" "${iops_numjobs_4[0]}"[fly]此时调用则无数值了[/fly]
- for i in {0..30};
- do
- let iops_total[$i]=iops_numjobs_1[$i]+iops_numjobs_2[$i]+iops_numjobs_3[$i]+iops_numjobs_4[$i]
- done
- printf "%s\n" "${iops_total[@]}" |tee $Cur_Dir/result/$dev-$rw-$bs-4-$iodepth-$size-iops.xls
- done
- done
- done
- done
- done
- }
复制代码
|
|