BLOGTIMES
2021/08/15

bash の変数と改行

  sh 
このエントリーをはてなブックマークに追加

シェルスクリプトで echo をするときに、変数をダブルクオートで囲った場合とそうでない場合で挙動が違うことに気付いたのでメモ。

具体的には以下のような感じで、変数内に改行が含まている場合の改行の扱いが変わるようです。
かれこれ 20 年くらいシェルスクリプト書いていますが、こういう決まりがあることに気付いてませんでした。

$ hoge=`cat <<EOF > aaa > bbb > ccc > EOF > ` $ echo $hoge aaa bbb ccc $ echo "$hoge" aaa bbb ccc $ echo $hoge | wc -l 1 $ echo "$hoge" | wc -l 3

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/12661
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン