2010年11月2日火曜日

kshで引数で文字列を渡す際の注意点メモ

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}"

0 件のコメント:

コメントを投稿