我只是想連接兩個字符串變量,但輸出是以某種方式反轉。有人會讓我知道爲什麼嗎?謝謝!!Shell腳本反向兩個串聯變量?
我的shell腳本:
HEADER=`cat header-cp-match-src-file.csv`
echo header: $HEADER
HEADER="$HEADER,Hello,123456"
echo header: $HEADER
輸出:
header: good_description,tranx count
,Hello,123456description,tranx count
第一行是正確的,但最終的輸出沒有"header:"
和",Hello,123456"
去的前串。
========== ==========解決方案
文件header-cp-match-src-file.csv
原本是從Windows包膜,所以它包含了\r
,根據建議,它刪除\r
後,現在工作正常。謝謝!!
HEADER=`cat header-cp-match-src-file.csv`
echo header: $HEADER
HEADER=${HEADER/$'\r'/}
HEADER="$HEADER,KEVIN,123456"
echo header: $HEADER
什麼是你想要做什麼呢? (請描述問題Y,而不是問題X,當你試圖解決Z相信這將最終解決Y時遇到)。 –
輸出看起來並不準確 - 至少第二行應該在其中包含「header:」和「good」這兩個字詞......您是否已將EXACT輸入和輸出複製到您的問題中? – Magnus
'header-cp-match-src-file.csv'具有DOS行尾。回車在第一次被設置時保留爲「HEADER」的最後一個字符;第二次打印時,它會在行首開始打印',Hello,123456',並覆蓋字符串的第一部分。 – chepner