1. 複数行の表示

スクリプトで、改行を含む複数行の文字列を表示する方法

複数行の表示

改行を含む複数行を標準出力で表示したりする方法

  • echoで表示

  • echoではダブルクォートやシングルクォートで出力文字列を囲んでいる場合、改行もそのまま表示します。 そのため、以下のように複数行の文字列表示が可能です。

    #!/bin/bash
    
    echo "onee
    two 
    three
    "
    実行結果は、以下になります。
    ./multi.sh
    one
    two
    three

  • ヒアドキュメントで表示

  • ヒアドキュメントで表示する場合、catコマンドを使って以下のような書式になります。

    cat <<EOS
    ...
    ここに表示したい文字列を書く
    ...
    EOS

    以下のようなスクリプトの場合

    #!/bin/bash
    
    cat <<EOS
    1行目
    2行目
    EOS
    実行すると、以下のように表示します。
    1行目
    2行目

    ヒアドキュメントの各行の先頭にタブがある場合、範囲を表す文字列の先頭にハイフンを追加すると、 表示するときにタブが無視されます。

    #!/bin/bash
    
    cat <<-EOS
    	この前にタブがある。
    	この前にもタブがある。
    ここはタブ無し。
    EOS
    これを実行すると、以下のように表示される。
    この前にタブがある。
    この前にもタブがある。
    ここはタブ無し。