スクリプトで、改行を含む複数行の文字列を表示する方法
複数行の表示
改行を含む複数行を標準出力で表示したりする方法
-
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
これを実行すると、以下のように表示される。
この前にタブがある。 この前にもタブがある。 ここはタブ無し。