bash - ヒアドキュメント

シェルスクリプト実行のために必要なドキュメントをシェルスクリプトの中に埋め込むこと。
複数行にわたるメッセージをechoを何行も並べるよりも便利。

command1 << END    #...の部分がcemmand1の入力になる。
...
...
END

#エラーメッセージの生成
Usage(){
    cat 1>&2 <<- END              #-を付けると行頭のタブを取り除く
        Usage: $0 [-options] ...  #変数が展開される。ENDを''で囲むかENDの前に\を付ければ変数は展開されない
        ...
    END
}

ヒアドキュメントは入力を必要としないためシェルスクリプトの中でedなどのエディタを使い
ファイルの編集をすることができる。

ed - file1 << \END    #ed でfile1を開く
1,$s/^[    ]*//       #タブを取り除く
w
q
END