kshで引数で改行を含む文字列の引数を渡す際の注意点。
変数hogeの内容が以下とする。
hoge:
AAA A
BBB B
CCC C
3行の文字列である。
これを、関数:kanに引数として渡す場合、
kan ${hoge}
とすると、1行目の1単語目、つまりAAAしか渡されない。
文字列として明示して関数に引数を渡せば、全行の文字列を渡せた。
kan "${hoge}"
改行を含む文字列の出力。
echoなどで改行を含む文字列の変数の内容を出力する際、明示的に文字列と示すこと。
echo ${hoge}
これだと、
AAA ABBB BCCC C
となり、改行されていない文字列となる。
ダブルクォートでくくり、明示的に文字列とすると、ちゃんと改行された文字列が出力された。
echo "${hoge}"