• ベストアンサー

@EOD

unixのシェル内で sqldba mode=line <<@EOD ....... ....... @EOD <<@EODは何をしてるのでしょうか?。 教えて下さい。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.2

読んでないかもしれないけれど…訂正があります。 >「<<@EOD」から「@EOD」までの部分を 「<<@EOD」と「@EOD」に挟まれた部分を >シェルの予約語やコマンド名でなければ別に何でも構いません。 終端の「@EOD」以外なら別に予約語などが入っていても問題ありませんので、 この行は無視してください。また、ヒアドキュメントの中でもコマンド置換は有効です。 $ today=<<EOF # バッククォートで囲む >>`date` >>EOF $ echo $today Mon Jun 09 22:28:08 JST 2003 このように変数 today には date コマンドが実行された結果が代入されます。 さて、役に立たなかったら遠慮なく斬ってくださって結構ですので、 一言お返事があると嬉しいな。では。

参考URL:
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html
hfc
質問者

お礼

ご返事遅くなりまして申し訳ありませんでした。 大変勉強になりました。ありがとうございます。

その他の回答 (1)

  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.1

これは「ヒアドキュメント(here document)」といって、 スクリプトの中にデータを埋め込んで利用するための機能です。 この場合「<<@EOD」から「@EOD」までの部分を sqldba へのデータとして利用しています。 (「sqldba」は Oracle のコマンド?) 「EOD」は「End Of Document」の略だと思われますが、 シェルの予約語やコマンド名でなければ別に何でも構いません。 シェルに限らず Perl や Ruby、PHP などこの記法が使える言語は多いので、 覚えておいて損はありません。

参考URL:
http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/sh-text/sh/node7.html

関連するQ&A

専門家に質問してみよう