ksh字符串比较失败

问题描述 投票:-1回答:1

我有下面的代码无法比较两个相等值的字符串

    InptHeaderRow=$(head -1 $InptFileName)

    echo $(head -1 $InptFileName)

    echo $BaseHeaderRow

    if [[ "$BaseHeaderRow" = "$InptHeaderRow" ]]; then
            echo "<img class=\"message\" src=\"../images/success.png\">&nbsp&nbsp Valid Header Recond Found in $InptFileName"  | tee -a ${LOGFILE}
            CheckDelimetersInHeader
    else
            echo "<img class=\"message\" src=\"../images/error.png\">&nbsp&nbspNo Valid Header Record Found in $InptFileName"  | tee -a ${LOGFILE}
            echo "Exiting.."  | tee -a ${LOGFILE}
            exit 1
    fi
    }

以下输出

+ CheckHeader
SUBACC^AGENT^TRANCODE^VALUEDATE^ENTRYDATE^AMOUNT^TEXT10^SDE^REF1^REF2^REF3^STMT_DATE^STYP^SCO^STMTNO^STMT_PG^SIDE^OPBAL^OPBALCY^CLBAL^CLBALCY^OPBALTP^CLBALTP^ACCOWNRINFO
SUBACC^AGENT^TRANCODE^VALUEDATE^ENTRYDATE^AMOUNT^TEXT10^SDE^REF1^REF2^REF3^STMT_DATE^STYP^SCO^STMTNO^STMT_PG^SIDE^OPBAL^OPBALCY^CLBAL^CLBALCY^OPBALTP^CLBALTP^ACCOWNRINFO
<img class="message" src="../images/error.png">&nbsp&nbspNo Valid Header Record Found in /opt/tlm/ss_fin_prd/TLM27/datafeeds/GBLA42824140700000GBLA340C97000000000000_21012020.txt
Exiting..

不确定这里出了什么问题

shell ksh
1个回答
0
投票

以下代码正在删除^ M个字符

tr -d '\015' < $InptFileName > $InptFileName.tmp
mv $InptFileName.tmp $InptFileName
© www.soinside.com 2019 - 2024. All rights reserved.