2010-12-15 55 views

回答

3

如果你需要的僅僅是一個變量換行符:

nl=$'\n' 

如果您需要保留換行符,你可以這樣做(您在自己的答案中顯示):

f() { echo "hello"; } 
output=$(f; echo "x") 
output=${output%x} 
echo "'$output'" 

產生於:

'hello 
' 
1

經過一些更多的實驗後,我找到了一個使用shell變量的解決方法。基本上,我確保輸出末的換行符,然後我脫光添加文本後

output="$(echo $'\n'x)" 
output="${output%x}" 
echo "Newline: '$output'" 

這給正確的輸出

Newline: ' 
' 
0

可以使用-e選項以啓用對反斜槓轉義的解釋,並使用一個echo完成所有操作。

$ echo -e "Newline: '\n'" 

時會產生輸出

Newline: ' 
' 
+0

謝謝安德魯,但我只是使用內部'echo $'\ n''作爲例子。我的實際子殼顯得更復雜。 – Quantum7 2010-12-20 01:47:21