シェル変数に\nの改行文字が入らない
2007年11月8日
シェル変数に特定の方法で改行文字を入れようとすると入らないというネタ、未解決
以下、ボーンシェルについての話です。
odコマンドは、PHPのord関数のような、文字をアスキー番号に変換できるようなコマンドです。
調査1
A=" " echo `echo -n "$A" | od`
出力
0000000 000012 0000001
“000012”ってのがLFのアスキー番号。ちゃんと入っている。
調査2
A=`echo -e "\n"` echo `echo -n "$A" | od`
出力
0000000
何故か空文字。
調査3
A=`echo -e "\r"` echo `echo -n "$A" | od`
出力
0000000 000015 0000001
ちゃんと入っている。\tも入ってた。
ということで、何故に \n だけ入らないのかがわかりません。
誰か教えてください!
誰か教えてください!
2012/11/21追記
echoによる出力時に ” で括ると改行されるようです
echo "$VAR"
こちらに回答がありました、多謝
(Linux)シェルスクリプトで変数に改行を含めたい