2015-09-03 46 views
2

我試圖在printf這樣巴什 - 如何打印多行字符串(以「 n」)用printf

printf "hi\n" 
printf "next line here\n" 

我不能做以下

打印多行字符串
text_content=" 
hi 
next line here 
" 

printf $text_content 

有沒有其他辦法?

+1

以什麼樣的方式呢'printf的 「$ TEXT_CONTENT」'*不*工作?它複製了賦值中的原生新行,以及將'\ n'轉換爲換行符。如果你不引用它,那麼分詞將導致只顯示第一個單詞 – Petesh

+1

引用你的變量 –

+1

爲什麼你在'text_content'中有'\ n'和嵌入的換行符? – chepner

回答

5

引用該變量應該能夠做到這一點。然而,在你的例子中,你會得到雙換行符。

printf "$text_content" 
+2

如果變量有'%'符號,最好使用'printf'%s \ n「」$ variable「 – user000001

1

如果printf的是沒有必要的,那麼你可以使用回聲:

var="one\ntwo" 
echo -e $var