0
我有一個問題,我正在尋找與我正在構建的監視腳本有關的幫助。Bash while output問題與輸出
有兩個組件:1)執行邏輯的bash腳本,以及期望通過SSH連接到各種主機的腳本,運行命令並將結果作爲多行變量返回到bash腳本進一步操作。
我遇到的問題是我需要在結果的每一行周圍添加文本,但是這樣的預測要困難得多!
printf %s "$EXPECT_RESULT" | while IFS= read -r line
do
echo "$line" text
done
}
小試驗的上述未如預期結果:
line1_content txt
line2_content txt
line3_content txt
相反的結果爲:
txte1_content
txte1_content
txte1_content
的名爲「txt」在該行的開頭添加並覆蓋我之後的部分輸出。
如果我手動生成$ EXPECT_RESULT作爲一個多行變量,它的行爲如預期,所以這個問題絕對似乎與來自期望的輸出相關。
任何想法或陷阱我不知道?
謝謝!
你的變量可能包含'\ r'字符 – Mat
墊,你說得對,非常感謝你。對於其他人的好處,我使用bash程序「od」顯示所有字符,然後使用「tr」刪除\ r字符。所有工作現在! – SJN