朝からファイルのバックアップ作業をしていた.
ついでに,自動バックアップのスクリプトを書いていた.正確には前書いたものの使い回しだが.
バックアップファイルのリストを別ファイルにしていたのだが,最後のEOFをファイルの最後と読んでくれない….
ネットを探していたら,「ヒアドキュメント」という機能を見つけた.んで,ヒアドキュメントを使ったスクリプトに改造した.
ヒアドキュメントの例
$ cat <<_EOF_
> abc
> def
> EOF
> _EOF_
結果:
abc
def
EOF
(1)シェルは,<<以降の文字をEOF記号と覚える.
(2)EOF記号を見つけるまで,<<(EOF記号)から(EOF記号)までをコマンドに順次渡していく
ということらしい.ここでは「abc」,「def」及び「EOF」がコマンドに渡され,最後の「_EOF_」はEOF記号なので,そこで作業は終わる.