Linuxでヒアドキュメントを使うには?

ショコラ
ショコラ

Linuxでヒアドキュメントを使うには?

基本 catコマンドと組み合わせてキメマス。

終端IDには以下の文字列が慣習的に使われます。
私が良く使っているのはEOSとEOFです。
・END
・EOS・・・End of String
・EOF・・・End of File
・EOT・・・End of Text
・EOD・・・End of Data

もっさん先輩
もっさん先輩

①ヒアドキュメント(出力内容)をファイルに保存する方法

cat <<EOS > {ファイル名}
{出力内容}
EOS

出力内容に $変数 が含まれる場合、変数が展開されてファイルに保存されます。$変数 のままファイルに出力するには、EOS をシングルクォートで囲みます。

②ヒアドキュメント(出力内容)の変数を展開しないでファイルに保存する方法

cat <<'EOS' > {ファイル名}
{出力内容}
EOS

cat <<EOS > /etc/bashrc
. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
stty erase '^h'
EOS

EOS をシングルクォートで囲って、$変数 を展開させないでファイルに保存します。

cat <<'EOS' > hello.php
<?php
while ($str = fgets(STDIN))
  echo 'Hello ',$str;
EOS

因みにプログラムの実行結果は↓のようになります。

# php hello.php <<EOT
> mossan
> chocolat
> EOT
Hello mossan
Hello chocolat
Scroll to Top