- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Cシェルで複数の命令を実行)
Cシェルで複数の命令を実行する方法とは?
このQ&Aのポイント
- Cシェルを使用して複数の命令を実行する方法について教えてください。
- 作成したCシェルでプロシージャを実行できない問題が発生しています。解決策を教えてください。
- 業務時間にネットを見ることに制限があるため、Cシェルの実装方法について困っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#!/bin/csh sqlplus ユーザID/パスワード@ORACLE_SID <<EOF1 declare 変数定義 begin package名.プロシージャ名(引数1, 2, 3); end; / exit EOF1 としてみてください
その他の回答 (1)
- kmee
- ベストアンサー率55% (1857/3366)
回答No.2
シェルスクリプトは、「キーボードマクロ」ではありません。 現在のものは ・sqlplusを実行。終了を待つ ・declareをcshまたはunixのコマンドとして実行を試みる … という動作になります。 これは「cshで実装できる方法」ではなく、「sqlplusでログオン→コマンド実行を自動で行う方法」を調べ、それを「シェルスクリプトで記述する」ということになります。 既出の「ヒアドキュメントを使って標準入力から入力」の他、「別ファイルにsqlのスクリプトを保存しておいて、sqlplusで@のあとにファイルを指定して実行」というのもあります。 http://download.oracle.com/docs/cd/B12037_01/server.101/b12170/ch4.htm#sthref773 あと、老婆心ながら。 この程度のスクリプトならどちらでもいいかと思いますが、cshスクリプトはあまりお勧めできません。 sh系を使うようにすることをお勧めします。
質問者
お礼
遅くなり申し訳ないです。 色々な実装方法があるのですね。 老後心で助言助かりますが、客先がCシェル指定なもので・・・。 でも、何となくCシェルをお勧めしない理由がわかりました。
お礼
遅くなり、申し訳ないです。 お蔭様で解決できました! EOF1当たりが何をやっているのかわかりませんが、これから覚えていこうと思います。