簡體   English   中英

echo在兩個字符串之間添加換行符

[英]echo add a newline between two strings

我終於在bash中回應了兩個字符串之間的新行。
加上echo包含\\ n的字符串。

m=$'line1\nline2'  
n=line3  
echo "$m" ""$'\n'"" $n  

給我

line1  
line2  
 line3  

(我在$ n之前離開了空間以使其更清晰。)
有沒有更好的方法呢?

根據你的shell, echo帶有一個-e標志,用於打印轉義字符。

echo -e "Hello\nWorld"

或者,您可以使用printf ,但它不提供自己的尾隨換行符,您需要確保占位符不會出現在您的文本中:

printf "Hello\nWorld\n"

只需使用printf就可以在有新行時完全控制:

printf "%s\n%s" "$var1" "$var2"
#---------^^

例如:

$ s1="hello how are you"
$ s2="I am fine thanks" 
$ printf "%s\n%s\n" "$s1" "$s2"
hello how are you
I am fine thanks

暫無
暫無

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

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