日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS
ドキュメント・ライブラリ

タイトルページ
目次
まえがき
リファレンス・セクション
    ≫ コマンド一覧
    ≫ レキシカル関数
付録 A:廃止されたコマンド
付録 B:DCL整数表現の範囲を超える数値の処理
索引
PDF    Vol.1   Vol.2
OpenVMS ホーム

HP OpenVMS
DCL ディクショナリ


目次 索引

F$MODE

プロセスが実行されているモードを示す文字列を戻します。 F$MODE 関数には引数はありませんが,括弧は指定しなければなりません。

形式

F$MODE()

戻り値


会話型プロセスの場合は INTERACTIVEという文字列。プロセスが会話型ではない場合は,BATCH,NETWORK,または OTHER という文字列が戻されます。戻される文字列は,常に大文字です。

引数

なし。

説明

F$MODE レキシカル関数は,プロセスがじっこうされているモードを示す文字列を戻します。引き数はとりませんが,括弧は省略できません。

会話型で実行する場合と,非会話型で実行する場合とでは,別々に処理する必要がある時,コマンド・プロシージャで F$MODE 関数を使用すると便利です。ログイン・コマンド・プロシージャに F$MODE 関数,または F$ENVIRONMENT 関数を入れておき,会話型ターミナル・セッションと非会話型セッションではことなるコマンドを実行するようにしておきます。

ログイン・コマンド・プロシージャに F$MODE 関数を含めず,会話型プロセスから実行されるかどうかを調べていない時に,ログイン・コマンド・プロシージャが非会話型プロセス ( たとえばバッチ・ジョブ ) から実行されると,コマンド・プロシージャ内に会話型プロセスでのみ使用できるコマンドが含まれている場合は,プロセスが異常終了する可能性があります。

コマンド・プロシージャは F$MODE 関数を使用して,会話型ターミナル・セッションでプロシージャが実行されるかどうか調べることができます。また F$MODE 関数の戻り値に基づいて,制御を移すことができます。


#1
$ IF F$MODE() .NES. "INTERACTIVE" THEN GOTO NON_INT_DEF 
$ INTDEF:         ! Commands for interactive terminal sessions 
   .
   .
   .
$ EXIT 
$ NON_INT_DEF:         !Commands for noninteractive processes 
   .
   .
   .
 

この例では,ログイン・コマンド・ファイルの初めの部分が示されています。このコマンド・プロシージャは,2 つの初期化コマンドがあります。 1 つは会話型モードの場合のコマンドで,もう 1 つは ( バッチ・ジョブやネットワーク・ジョブを含む ) 非会話型モードの場合のコマンドです。 IF コマンドは,F$MODE から戻された文字列が,INTERACTIVE という文字列と,等しいかどうかを調べます。等しくない場合には,制御は NON_INT_DEF というラベルに分岐します。等しい場合には,INTDEF というラベルのあとのステートメントが実行され,プロシージャは NON_INT_DEF の前にあるステートメントで終了します。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.