シェルスクリプトで、文字列を返すときに改行を含める方法
改行がくっついて困ったのでメモ
[test.txt]
# 改行を含むテキスト
aaa
bbb
ccc
[test.sh]
func(){ # 改行を含む出力をする関数 cat test.txt } ret=`func` echo -e $ret echo -e "$ret" ret=$(func) echo -e $ret echo -e "$ret"
[実行結果]
註:#コメントは後付けです
$ sh test.sh # echo -e $ret は改行しない aaa bbb ccc # echo -e "$ret" は改行する aaa bbb ccc # echo -e $ret 値の取得方法を変えても上と同じ aaa bbb ccc # echo -e "$ret" 値の取得方法を変えても上と同じ aaa bbb ccc
結論
ダブルクオテーションでくくる