技術メモのかけら

内容はもとより調べたことすら忘れてしまうので個人的なメモです。とにかく短く、結論だけ書いていきます。

Bashで変数展開やコマンド置換しないでヒアドキュメントしたい

クリップボードの内容をSSHで接続した先のファイルに保存したい場合にヒアドキュメントを良く使うのですが、
↓こういう書き方をすると、""で囲った時と同じように変数展開されたりコマンド置換されてしまい、シェルスクリプトのコピーなどでは都合が悪いです。

<実行コマンド>
cat<<EOS
$HOME
EOS

<出力結果>
/home/taro

そういうときは ヒアドキュメントの区切り文字(何て呼ぶんだろう)を'EOS'のようにシングルクウォートで囲めば展開されなくなります。

<実行コマンド>
cat<<'EOS'
$HOME
EOS

<出力結果>
$HOME