ヒアドキュメント
ヒアドキュメントは標準入力として扱われるため、標準入力を扱えるコマンドと組み合わせて使用する必要がある。文字列リテラルやファイルしか受け取らないようなコマンドで使用する場合は、変数を介して渡したり、bash固有の機能のProcess Substitutionを利用したりする必要がある。
以下の例では、ヒアドキュメントのテキストがtrコマンドへの入力となっている。
ここではEND_TEXTを区切り文字としてあり、ヒアドキュメントの始めと終わりの位置を規定している。下2行のONE TWO THREEとUNO DOS TRESは、trコマンドを実行して出力された結果である。
ヒアドキュメントを開始するところで<<-とすると、行頭のタブが無視されるようになり、シェルスクリプトのインデントを崩さずにヒアドキュメントを書けるようになる(なお、コマンドラインにタブ文字を入力するには特殊な操作が必要となる。また、以下の例はタブではなくスペースで書いてあるので、そのままコピペしても動作しない)。
デフォルトで、変数展開やバッククオートによるコマンド展開も行われる。
これらは、区切り文字を引用符で囲むことで無効にできる。
また、bash、ksh、zshではヒアストリングという機能も存在する。