Shell脚本中的内部If else语句

时间:2013-12-04 14:21:09

标签: shell unix

当我执行以下代码时,当if [ $c_count -eq $p_count ]失败时,控制将直接转到外部其他部分。但它应该去内在的其他部分。 这有什么问题......?

while [ "${arr2[$j]}" != "P" ]
do
    if [ $j -ge $i ]
    then
        break
    fi

    if [ "${arr1[$j]}" == "M" -a $p_count -ne 0 ]
    then
        c_count=`grep -c "<${arr3[$j]}>" $2`

        if [ $c_count -eq $p_count ]
        then
            echo "${arr1[$j]} ${arr2[$j]} Y   $c_count    ${arr3[$j]} >>>>>"
        else
            echo "${arr1[$j]} ${arr2[$j]} N   $c_count    ${arr3[$j]} "
            mcinvalid=`expr $mcinvalid + 1`
            echo "Count Incremented"
        fi


    else
        c_count=`grep -c "<${arr3[$j]}>" $2`
        echo "${arr1[$j]} ${arr2[$j]} N   $c_count    ${arr3[$j]} -------"
    fi

    j=`expr $j + 1`
done

0 个答案:

没有答案