それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

シェル変数に\nの改行文字が入らない

シェル変数に特定の方法で改行文字を入れようとすると入らないというネタ、未解決

以下、ボーンシェルについての話です。
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)シェルスクリプトで変数に改行を含めたい



コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives