我已經看到在 bash 中連接兩個字串變數附加換行符- 但是當我讀到它時,解決方案是:
像這樣用雙引號回顯它:
...但我似乎無法重現它 - 這是一個例子:
$ bash --version
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
$ mystr=""
$ mystr="${mystr}First line here\n"
$ mystr="${mystr}Second line here\n"
$ mystr="${mystr}Third line here\n"
$ echo $mystr
First line here\nSecond line here\nThird line here\n
到目前為止,正如預期的那樣 - 這是雙引號:
$ echo "$mystr"
First line here\nSecond line here\nThird line here\n
我再一次沒有得到新的線路 - 所以建議“用雙引號像這樣回應它”似乎不正確。
誰能準確地說\n,在連接字串時如何獲得正確的換行符輸出(不僅僅是) bash?
uj5u.com熱心網友回復:
在字串中添加一個換行符,而不是兩個字符\and n。
mystr=""
mystr ="First line here"$'\n'
mystr ="Second line here"$'\n'
mystr ="Third line here"$'\n'
echo "$mystr"
或者您可以解釋\轉義序列 - with sed、 withecho -e或 with printf "%b" "$mystr"。
uj5u.com熱心網友回復:
你應該做
nabil@LAPTOP:~$ echo -e $mystr
First line here
Second line here
Third line here
nabil@LAPTOP:~$
您可以在 man 中找到其他選項
-e enable interpretation of backslash escapes
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/414663.html
標籤:
