シェルスクリプトで
#!/bin/bash cat << EOF $hogehoge EOF
とすると$hogehogeがシェルスクリプト実行時に変数展開されてしまい、変数hogehogeに何も設定していない場合は何も出力されません。変数展開せずに「$hogehoge自体」を出力したい場合は,ヒアドキュメントの終了文字列を'(シングルクオート)で囲めばいいみたいです。
#!/bin/bash cat << 'EOF' $hogehoge EOF
こうすると「$hogehoge」が出てきます。PHPのヒアドキュメントがこんな感じの動作だったような気もする。PHP5.3かそこらへんからこんな感じだったような。
ヒアドキュメントで変数展開したくない | badulogさんのブログが参考になりました。ありがとうございます。
φ(..)メモメモ