換行符引發的血案

2021-06-19 02:32:10 字數 530 閱讀 3679

最近寫shell指令碼,遇到變數拼接的問題。

#!/bin/sh

v2=pear

v3="$ $"

echo v3

結果輸出"pear",v1的值始終不出來。

嘗試了各種辦法,包括:

v3="$v1 $v2"

v3=`echo $v1 $v2` ................

查了很多資料,別人用類似寫法,執行結果都正確,而我的執行結果永遠都是v2,而且我發現不管拼接了多少個變數,拼接後始終只輸出最後乙個變數值。

蛋疼,絕望,抓狂。。。。。

無意中在乙個帖子上看到類似問題,樓主是在windows下寫的shell,然後傳到unix上,也是只輸出最後變數。樓主也是試了無數方法,最後絕望了,然後乾脆在unix伺服器上將指令碼重寫了一遍,然後執行,結果一切正常!

我笑了,因為我也是在windows下寫的**。

用sed -i 's/\r//' filename命令,將**中的windows換行符替換成unix換行符,執行正常!

Linux換行符和Windows換行符的區別與轉換

windows為乙個回車 r cr或 m 和乙個換行 n nl或lf 括號內是其它顯示方法 linux為乙個換行 n mac為乙個回車 r 檢視檔案是否含有windows換行符 windows notepad 檢視 顯示所有符號 linux file test.txt test.txt ascii ...

換行符問題

今天,我總算搞清楚 回車 carriage return 和 換行 line feed 這兩個概念的來歷和區別了。在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個...

回車 換行符

換行符 n 和回車符 r 顧名思義,換行符就是另起一行,回車符就是回到一行的開頭,所以我們平時編寫檔案的回車符應該確切來說叫做回車換行符 n 10 換行 newline r 13 回車 return 也可以表示為 x0a 和 x0d 16進製制 在windows系統下,回車換行符號是 r n 但是在...