爲何bash中一條命令的輸出保存到變量之後換行符變成了空格

爲何bash中一條命令的輸出保存到變量之後換行符變成了空格
 
在 bash 中,爲了將一個命令的輸出保存到變量中,通常是兩種寫法:
 
1
result=`ls -al`
2

3
result=$(ls -al)
如果命令中的輸出只有一行,一切皆沒有問題,比如
1
result=$(ls -al | wc -c)
整個命令的輸出是一個數字,看起來一切正常。
 
但我們運行以下腳本時,輸出的結果是一團糟:
 
1
<span></span>result=$(ls -al)
2
echo $result<span></span>
發現輸出的結果中,換行符被替換成了空格,一個多行的輸出變成了一行!
 
解決辦法:
 
1
result=$(ls -al)
2
echo “$result”
這樣輸出就正常了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章