#navi(../)
* ヒアドキュメントをファイルに出力する方法 [#ne3b6aea]
ヒアドキュメントを利用して以下のようなスクリプトを記述し実行すると端末に表示されます。~
ファイルに出力したい場合は、リダイレクトでファイルに出力すればいいのですが、1つのシェルスクリプトに複数のヒアドキュメントと複数のファイル出力をしたい場合の例を以下に記します。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#s1cb49bd]
ヒアドキュメントを資料した関連記事のリンク
-[[逆引きシェルスクリプト/ヒアドキュメント内の変数を展開しない方法]]
-[[逆引きシェルスクリプト/シェルスクリプトで複数行をまとめてコメントアウトする方法]]
-[[ペーストした文字列をファイルに出力する簡単な方法・cat>逆引きUNIXコマンド/ペーストした文字列をファイルに出力する簡単な方法・cat]]

* 端末に出力される一般的なヒアドキュメント例 [#m179480a]
 #!/bin/bash
 cat << EOT
 HELLO WORLD
 KONNICHIWA
 NIHAO
 EOT

* ヒアドキュメントをファイルに出力する方法 [#a4ae1b69]
以下のように記述することによりファイルに出力することができます。
#ref(sample-01.sh)
 #!/bin/bash
 cat << EOT >> out.txt
 HELLO WORLD
 KONNICHIWA
 NIHAO
 EOT

* 実行結果 [#g92ea3e6]
 $ ls -l out.txt
 ls: out.txt: そのようなファイルやディレクトリはありません
 $ ./sample-01.sh 
 $ cat out.txt
 HELLO WORLD
 KONNICHIWA
 NIHAO
 $ ./sample-01.sh 
 $ cat out.txt
 HELLO WORLD
 KONNICHIWA
 NIHAO
 HELLO WORLD
 KONNICHIWA
 NIHAO
リダイレクト文字に>>を指定しているので、2回起動すると追記されているのが確認できます。~
リダイレクト文字に>を指定すれば、ファイルがない場合は新規作成され、存在する場合は前のデータは削除されヒアドキュメントの内容がファイルに出力されます。~
上記サンプルシェルスクリプトでは、EOT〜EOTまでの内容をout.txtに追記モードでout.txtファイルに出力しています。


#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS