簡體   English   中英

Bash while循環問題與輸出

[英]Bash while loop issue with output

我在尋求有關與我正在構建的監視腳本有關的幫助的問題。

有兩個組件,1)執行邏輯的bash腳本,以及2)和期望腳本,該腳本通過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生成為多行變量,它的行為將與預期的一樣,因此該問題似乎與預期的輸出有關。

我不知道的任何想法或陷阱嗎?

謝謝!

墊子,你是對的,非常感謝。 為了使他人受益,我使用了bash程序“ od”顯示所有字符,然后使用“ tr”刪除\\ r字符。 現在都在工作!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM