日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V7.3-2
ライブラリ

タイトルページ
目次
まえがき
リファレンス・セクション
付録 A:廃止されたコマンド
索引
PDF    Vol.1   Vol.2
OpenVMS ホーム
OpenVMS | HPE 日本

OpenVMS
DCL ディクショナリ


目次 索引




コマンド・プロシージャを実行します。または,コマンド・インタプリタに対して,特定のファイルまたは装置からのコマンド入力を読み込むよう要求します。

形式

@ ファイル指定 [パラメータ[,...]]


パラメータ



ファイル指定

前のコマンドに対する入力が読み込まれる装置またはファイル,あるいは実行されるコマンド・プロシージャを指定します。省略時のファイル・タイプは .COM です。アスタリスク (*) やパーセント記号 (%) などのワイルドカード文字を,ファイル指定で使用することはできません。

パラメータ[,...]

コマンド・プロシージャに渡される 1 つから 8 つの省略可能なパラメータを指定します。これらのパラメータには,文字列値を入力した順に (P1, P2, ... P8) の 8 つのシンボルが割り当てられます。シンボルは,指定されたコマンド・プロシージャの内部でのみ有効です。各パラメータは,1 つまたは複数の空白で区切ります。空パラメータを指定するには,連続する 2 つの引用符 ("") を使用します。パラメータには,英数字または特殊文字を含む文字列値を指定することができます。ただし次の制約があります。

  • コマンド・インタプリタは英字を大文字に変換し,各パラメータの区切り文字に空白を使用します。空白や小文字を含むパラメータを渡すには,パラメータを引用符で囲む必要があります。

  • 最初のパラメータがスラッシュ (/) から始まる場合には,パラメータを引用符 (" ") で囲まなければなりません。

  • リテラルとしての引用符や空白を含むパラメータを渡すには,文字列全体を二重引用符で囲み,文字列の中で連続する 2 つの二重引用符を指定します。たとえば,コマンド・プロシージャ TEST.COM が次のコマンド行を含んでいたとします。


    $ WRITE SYS$OUTPUT P1 
    


    この時,DCL プロンプト ($) に対して次のコマンドを入力します。


    $ @TEST "Never say ""quit"""
    


    TEST.COM というプロシージャを実行すると,パラメータ P1 には次の文字列が割り当てられます。


    Never say "quit" 
    


    文字列に引用符が含まれており,空白が含まれていない場合には,引用符は文字列の中でそのまま保存され,引用符で囲まれた英字は小文字のまま保存されます。たとえば,DCL プロンプトに対して次のコマンドを入力します。


    $ @TEST abc"def"ghi
    


    TEST.COM というプロシージャを実行すると,パラメータ P1 には次の文字列が割り当てられます。


    ABC"def"GHI 
    

シンボルをパラメータとして使用する場合には,シンボル置換を実行するためにシンボルを一重引用符 (' ') で囲む必要があります。次の例を参照してください。


$ NAME = "JOHNSON"
$ @INFO 'NAME'

一重引用符を使用すると,"JOHNSON" という値が NAME というシンボルと置き換えられます。したがって,"JOHNSON" というパラメータが,P1 として INFO.COM に渡されます。


説明

@ コマンドは,以下を含むコマンド・プロシージャを実行する際に使用します。

  • DCL コマンド行,またはデータ,あるいはその両方

  • 特定のコマンド行に対する修飾子,またはパラメータ,あるいはその両方

コマンド,またはデータ,あるいはその両方を含むコマンド・プロシージャを実行するには,コマンド行の最初に @ コマンドを入力し,その次にコマンド・プロシージャ・ファイルの名前を指定します。コマンド・プロシージャには DCL コマンド,および現在実行中のコマンドまたはプログラムへの入力データを含めることができます。コマンド・プロシージャ内のすべての DCL コマンドは,ドル記号 ($) で始めなければなりません。コマンド行がハイフン (-) により継続している場合は,その継続行はドル記号から始まらなくても構いません。

コマンド・プロシージャ中で,行の最初にドル記号がなく,継続行でもないコマンド行は,現在実行中のコマンドまたはプログラムへの入力データとして扱われます。DECK コマンドを使用すると,データのレコード位置にドル記号があることを指定できます。

コマンド・プロシージャ内に,他のコマンド・プロシージャを実行する @ コマンドを含めることもできます。トップ・レベルのコマンド・プロシージャも含め,最大で 16 回までコマンド・プロシージャをネストさせることができます。SUBMIT コマンドを使用する,またはシステム・カード・リーダにコマンド・プロシージャを含むカード・デックを置くことにより,コマンド・プロシージャをバッチ・ジョブとしてキューに登録することもできます。

特定のコマンド行に対する修飾子,またはパラメータ,あるいはその両方を含むコマンド・プロシージャを実行するには,通常,コマンド行で修飾子またはパラメータを指定する位置に @ コマンドを置きます。次に,修飾子またはパラメータを含むコマンド・プロシージャ・ファイル名を指定します。

コマンド・プロシージャ・ファイルがコマンドに対するパラメータで始まる場合は,@ コマンドの前に空白が必要です。次の例を参照してください。


$ CREATE TEST.COM
TIME
[Ctrl/Z]
$ SHOW @TEST
  14-DEC-2001 17:20:26

反対に,コマンド・プロシージャ・ファイルがコマンドに対する修飾子で始まる場合は,@ コマンドの前に空白を入れては いけません


$ CREATE TEST_2.COM
/SIZE
[Ctrl/Z]
$ DIR@TEST_2
 
Directory WORK$:[SCHEDULE] 
 
JANUARY.TXT;8         14-DEC-2001 15:47:45.57 
FEBRUARY.TXT;7        14-DEC-2001 15:43:16.20 
MARCH.TXT;6           14-DEC-2001 11:11:45.74 
   .
   .
   .
Total of 11 files. 

コマンド・プロシージャ・ファイルにパラメータ,修飾子,あるいはその両方が含まれている場合は,コマンド行をドル記号で始めては いけません。@ ファイル指定に続くコマンド行のデータは,プロシージャに対するパラメータとして扱われます。


修飾子



/OUTPUT=ファイル指定

コマンド・プロシージャの出力を書き込むファイル名を指定します。省略時の設定では,出力は現在の SYS$OUTPUT 装置に書き込まれます。省略時の出力ファイル・タイプは .LIS です。アスタリスク (*) およびパーセント記号 (%) ワイルドカード文字を,ファイル指定で使用することはできません。システムからの応答とエラー・メッセージは,指定したファイルと SYS$COMMAND の両方に書き込まれます。/OUTPUT 修飾子を指定する場合は,コマンド・プロシージャのファイル指定のすぐあとに修飾子を指定しなければなりません。そのように指定しないと,/OUTPUT 修飾子はコマンド・プロシージャに渡されるパラメータとして解釈されます。

SYS$OUTPUT の定義を変更すれば,コマンド・プロシージャからの出力先を変更することができます。コマンド・プロシージャの 1 行目として次のコマンドを指定すると,出力は指定したファイルに送られます。


$ DEFINE SYS$OUTPUT ファイル指定

このプロシージャが終了すると,SYS$OUTPUT はもとの等価文字列に戻されます。この方法では,コマンド・プロシージャを実行するときに /OUTPUT 修飾子を使用した場合と同じ結果になります。


#1

$ CREATE DOFOR.COM
$ ON WARNING THEN EXIT
$ IF P1.EQS."" THEN INQUIRE P1 FILE
$ FORTRAN/LIST 'P1'
$ LINK 'P1'
$ RUN 'P1'
$ PRINT 'P1'
[Ctrl/Z]
$ @DOFOR AVERAGE
 

この例では,DOFOR.COM というコマンド・プロシージャが示されています。このコマンド・プロシージャは,プログラムをコンパイルし,リンクし,実行するために,それぞれ FORTRAN コマンド,LINK コマンド,および RUN コマンドを実行します。ON コマンドはコマンドの実行結果が警告状態やエラー状態である場合には,プロシージャの実行を継続しないことを要求しています。

DOFOR.COM を実行するときに,FORTRAN プログラムのファイル指定をパラメータ P1 として渡すことができます。プロシージャを実行するときに P1 の値を指定しなかった場合には,INQUIRE コマンドがターミナルにプロンプト・メッセージを表示し,そのプロンプトに対して入力した値が,シンボル P1 に割り当てられます。この例では,ファイル名 AVERAGE が P1 に割り当てられています。FORTRAN コマンド, LINK コマンド,RUN コマンド,および PRINT コマンドには,それぞれ省略時のファイル・タイプが設定されているため,ファイル・タイプは含まれていません。

#2

$ @MASTER/OUTPUT=MASTER.LOG

このコマンドは,MASTER.COM という名前のプロシージャを実行します。出力はすべて MASTER.LOG ファイルに書き込まれます。

#3

$ CREATE FILES.COM
*.FOR, *.OBJ
[Ctrl/Z]
$ DIRECTORY @FILES

この例は FILES.COM コマンド・プロシージャを示しています。このファイルには,DCL コマンド行へのパラメータが含まれています。ファイル全体が DCL により,コマンド入力として処理されます。このプロシージャを DIRECTORY コマンドの後で実行して,現在の省略時のディレクトリ内の FORTRAN ソース・ファイルとオブジェクト・ファイルの一覧を表示させています。

#4

$ CREATE QUALIFIERS.COM
/DEBUG/SYMBOL_TABLE/MAP/FULL/CROSS_REFERENCE
[Ctrl/Z]
$ LINK SYNAPSE@QUALIFIERS

この例では,LINK コマンドに対する修飾子を含んでいる QUALIFIERS.COM というコマンド・プロシージャが示されています。LINK コマンドを入力する時に,リンクするファイルのファイル指定のすぐ後に,コマンド・プロシージャを指定します。この時,ファイル指定と @ コマンドの間には空白を入れてはいけません。

#5

$ CREATE SUBPROCES.COM
$ RUN 'P1' -
  /BUFFER_LIMIT=1024 -
  /FILE_LIMIT=4 -
  /PAGE_FILES=256 -
  /QUEUE_LIMIT=2 -
  /SUBPROCESS_LIMIT=2 -
  'P2'  'P3'  'P4'  'P5'  'P6'  'P7'  'P8'
[Ctrl/Z]
$ @SUBPROCES  LIBRA  /PROCESS_NAME=LIBRA

この例は,SUBPROCES.COM というコマンド・プロシージャを示しています。このプロシージャは,イメージを実行するためのサブプロセスを生成する RUN コマンドを実行し,また,サブプロセス生成のためのクォータを定義する修飾子を含んでいます。実行するイメージ名は,パラメータ P1 で渡されます。パラメータ P2 から P8 は,追加する修飾子を指定するために使用できます。

この例では,P1 に LIBRA というファイル名が割り当てられます。これがサブプロセスで実行するイメージの名前です。P2 には /PROCESS_NAME=LIBRA という修飾子が割り当てられます。これが RUN コマンドに追加される修飾子です。

#6

$ CREATE EDOC.COM
$ ASSIGN SYS$COMMAND:  SYS$INPUT
$ NEXT:
$      INQUIRE NAME "File name"
$      IF NAME.EQS."" THEN EXIT
$      EDIT/TPU 'NAME'.DOC
$      GOTO NEXT
[Ctrl/Z]
$ @EDOC
 

この EDOC.COM というプロシージャは,EVE エディタを起動します。編集セッション終了時に,ラベル NEXT でプロシージャはループします。各ループにおいて,編集するファイル名を要求します。省略時のファイル・タイプは .DOC です。INQUIRE コマンドへの応答に空行が入力されると,EXIT コマンドでプロシージャが終了します。

ASSIGN コマンドで,プロシージャ実行中に SYS$INPUT の等価名を変更しています。この変更により,EVE エディタがコマンド・プロシージャ・ファイルではなく,ターミナルから入力データを読むことができます。SYS$INPUT が変更されない場合には,省略時の入力データ・ストリームはコマンド・プロシージャ・ファイルになります。コマンド・プロシージャ終了時に,SYS$INPUT は解除され元の設定に戻ります。

#7

! PEOPLE.DAT
! A set of data with embedded key qualifiers for the SORT command.
!
! Usage: SORT@PEOPLE.DAT
!
/KEY=(POS:10,SIZE:10) sys$input people.out
Fred     Flintstone    555-1234
Barney   Rubble        555-2244
Wilma    Flintstone    555-1234
Betty    Rubble        555-2244
George   Slate         555-8911
Dino     Dinosaur      555-1234
$!
$ purge people.out
$ type people.out

ソートされた名簿を PEOPLE.OUT ファイルに作成し,それを表示します。この例では,DCL コマンドの中間で "@" を使用した場合に, DCL がそのファイル全体をコマンド入力として処理することを示します。




Accounting ユーティリティを起動します。 Accounting ユーティリティは資源の使用に関するレポートを作成します。

Accounting ユーティリティについての詳細は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』あるいはオンライン・ヘルプを参照してください。


形式

ACCOUNTING [ファイル指定[,...]]




装置の割り当てを解除するまで,またはそのプロセスを終了するまで,装置へ排他的にアクセスすることができます。オプションで,装置に論理名をつけることができます。

読み込み(R),書き込み(W),または制御アクセス権が必要です。


形式

ALLOCATE 装置名[:][,...] [論理名[:]]


パラメータ



装置名[:][,...]

物理装置名,または物理装置名に変換される論理名を指定します。装置名は汎用名でも構いません。コントローラまたはユニット番号が指定されていない場合,指定した部分を満たすすべての装置が割り当てられます。複数の装置を指定した場合は,最初の使用可能な装置が割り当てられます。

論理名[:]

1 から 255 文字までの文字列を指定します。文字列に空白を含めたい場合は,文字列全体を一重引用符 (' ') で囲みます。最後のコロン (:) は使用されません。ここで指定した論理名は,プロセス論理名になります。論理名を明示的に削除するまで,またはこのプロセスを終了するまで,論理名は有効です。

修飾子



/GENERIC



/NOGENERIC (省略時の設定)

最初のパラメータが,装置 ではなく装置 であることを示します。装置型の例としては RX50, RD52,TK50,RC25,RCF25,RL02 が挙げられます。指定した名前と型を持つ,最初のまだ割り当てられていない装置を占有します。

/[NO]GENERIC 修飾子は,ALLOCATE コマンドの 装置名 パラメータの前に指定します。たとえば DCL プロンプト($) に対して次のコマンドを実行すると,RK07 装置を占有できます。


$ ALLOCATE/GENERIC RK07 DISK

/GENERIC 修飾子で指定できる装置型の一部を,次の表に示します。どの装置が使用できるかは,現在使用している OpenVMS のバージョンに対応した SPD をご覧ください。

装置の種類
ディスク装置
EF51 EF52 EF53 EF54 EF58
ESE20 ESE25 ESE52 ESE56 ESE58
EZ31 EZ31L EZ32 EZ32L EZ33
EZ33L EZ34 EZ35 EZ51 EZ52
EZ53 EZ54 EZ56R EZ58 HSZ10
HSZ15 HSZ20 HSZ40 ML11 RA60
RA70 RA71 RA72 RA73 RA80
RA81 RA82 RA90 RA92 RAH72
RB02 RB80 RC25 RCF25 RD26
RD31 RD32 RD33 RD51 RD52
RD53 RD54 RF30 RF31 RF31F
RF32 RF35 RF36 RF37 RF70
RF71 RF72 RF73 RF74 RF75
RFF31 RFH31 RFH32 RFH35 RFH72
RFH73 RK06 RK07 RL01 RL02
RM03 RM05 RM80 RP04 RP05
RP06 RP07 RP07HT RX01 RX02
RX04 RX18 RX23 RX23S RX26
RX33 RX33S RX35 RX50 RZ01
RZ13 RZ14 RZ15 RZ16 RZ17
RZ18 RZ22 RZ23 RZ23L RZ24
RZ24L RZ25 RZ25L RZ26 RZ26B
RZ26L RZ26M RZ27 RZ27B RZ27L
RZ28 RZ28B RZ28L RZ29 RZ29B
RZ31 RZ34L RZ35 RZ35L RZ36
RZ36L RZ37 RZ38 RZ55 RZ55L
RZ56 RZ56L RZ57 RZ57I RZ57L
RZ58 RZ59 RZ72 RZ73 RZ73B
RZ74 RZ74B RZ75 RZ75B RZF01
コンパクト・ディスク装置
RRD40 RRD40S RRD42 RRD43 RRD44
RRD50 RV20 RV60 RV80 RW504
RW510 RW514 RW516 RWZ01 RWZ21
RWZ31 RWZ51 RWZ52 RWZ53 RWZ54
テープ装置
TA78 TA79 TA81 TA85 TA86
TA87 TA90 TA90E TA91 TAD85
TAPE9 TD34 TD44 TE16 TF30
TF70 TF85 TF86 TK50 TK50S
TK60 TK70 TK70L TKZ09 TKZ60
TL810 TL820 TLZ04 TLZ06 TLZ07
TLZ6 TLZ7 TM32 TS11 TSZ05
TSZ07 TSZ08 TU45 TU56 TU58
TU77 TU78 TU80 TU81 TZ30
TZ30S TZ85 TZ857 TZ86 TZ865
TZ867 TZ87 TZ875 TZ877 TZ88
TZ885 TZ887 TZ89 TZ895 TZ897
TZK10 TZK11 TZX0    



/LOG (省略時の設定)



/NOLOG

装置の名前が割り当てられたことを示すメッセージを表示します。他の装置に割り当てられている論理名を別の装置に割り当てようとすると,論理名が指す装置が変更されることを示すメッセージが表示されます。

#1

$ ALLOCATE  DMB2:
%DCL-I-ALLOC, _DMB2: allocated


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項