# Compaq OpenVMS

# DCL ディクショナリ

AA-R1EAC-TE

# 2001 年 7 月

本書は，Compaq OpenVMS DCL コマンドおよびレキシカル関数について，例を挙げながら詳しく説明しています。

改訂／更新情報: | 『Compaq OpenVMS DCL ディクショナリ』 V7.2の改訂版です。
ソフトウェア・バージョン: | OpenVMS Alpha V7.3 OpenVMS VAX V7.3

コンパックコンピュータ株式会社

© 2001 Compaq Computer Corporation

本書の著作権はコンパックコンピュータ株式会社が保有しており，本書中の解説および図，表はコンパックの文書による許可なしに，その全体または一部を，いかなる場合にも再版あるいは複製することを禁じます。

また，本書に記載されている事項は，予告なく変更されることがありますので，あらかじめご承知おきください。万一，本書の記述に誤りがあった場合でも，コンパックは一切その責任を負いかねます。

本書で解説するソフトウェア(対象ソフトウェア)は，所定のライセンス契約が締結された場合に限り，その使用あるいは複製が許可されます。

コンパックは，コンパックまたはコンパックの指定する会社から納入された機器以外の機器で対象ソフトウェアを使用した場合，その性能あるいは信頼性について一切責任を負いかねます。

以下は，米国 Compaq Computer Corporation の商標です。

Compaq，VAX，VMS および Compaq ロゴ。

OpenVMS および Tru64 は米国および他の国の Compaq Information Technologies Group, L.P の商標です。

以下は，他社の商標です。

Microsoft，MS-DOS，Visual C++，Windows，および Windows NT は，米国 Microsoft 社の商標です。

Intel，Intel Inside，および Pentium は米国および他の国の Intel 社の商標です。

Motif，OSF/1，および UNIX は米国および他の国の The Open Group の商標です。

その他のすべての商標および登録商標は，それぞれの所有者が保有しています。

原典：OpenVMS DCL Dictionary
(c) 2001 Compaq Computer Corporation

次へ | 目次 | 索引 | DOC HOME

# まえがき

# 対象読者

本書は，OpenVMS オペレーティング・システムを使用するすべてのユーザを対象に書かれています。本書には，すべての DCL コマンドおよびレキシカル関数の説明が含まれています。コマンドに制限事項がある場合，または特定の特権が必要な場合は，そのように記述されています。

本書は，読者が『Compaq OpenVMS ユーザーズ・マニュアル』の内容を理解していることを前提にしています。

# 本書の構成

本書は，各コマンドおよびレキシカル関数の詳細な説明で構成されています。各コマンドはアルファベット順に並んでおり，各ページの一番上にはコマンド名が記述されています。レキシカル関数は，「レキシカル関数」(JOB コマンドの説明の後)内にまとめてあります。それぞれの関数は，その中でアルファベット順に並んでいます。

『Compaq OpenVMS DCL ディクショナリ』のハードコピー・マニュアルは 2 分冊になっています。 1 冊は，A から M で始まるコマンド (レキシカル関数を含みます) の説明が記述されています。もう 1 冊は，N から Z で始まるコマンドの説明が記述されています。

廃止された DCL コマンド，およびそれに代わるコマンドを，『Compaq OpenVMS DCL ディクショナリ:N-Z』の 付録 A に示します。

言語コンパイラやその他の OpenVMS オプションのソフトウェア製品のコマンドは，本書には含まれていません。これらのコマンドについては，製品とともに提供されるドキュメントを参照してください。

# 関連資料

OpenVMS オペレーティング・システムの概要，および DCL の使用方法については，『Compaq OpenVMS ユーザーズ・マニュアル』を参照してください。『Compaq OpenVMS ユーザーズ・マニュアル』は，初心者や会話型コンピュータ・システムの経験が少ないユーザを対象にしています。

『Compaq OpenVMS ユーザーズ・マニュアル』は，DCL コマンド言語の概要を説明します。また，DCL コマンドやレキシカル関数を使用したコマンド・プロシージャを作成する際の自習書としても使用できます。

各ユーティリティについての詳細は，それぞれのユーティリティのマニュアルを参照してください。それぞれのユーティリティのマニュアルには，ユーティリティを起動する DCL コマンド，ユーティリティ起動中に使用できるコマンド，および参照情報が記述されています。『Compaq OpenVMS DCL ディクショナリ』は，各ユーティリティの簡単な説明とフォーマットについてのみ説明しています。

メッセージについての詳細は，オンラインの Help Message ユーティリティ，または『OpenVMS system messages documentation』を参照してください。

Compaq OpenVMS 製品およびサービスについての追加情報は，Compaq の Web サイトにアクセスしてください。URL は次のとおりです。

    http://www.openvms.compaq.com/

# 本書で使用する表記法

本書では，次の表記法を使用しています。

表記法 | 意味
--- | ---
Ctrl/x | Ctrl/x という表記は， Ctrl キーを押しながら別のキーまたはポインティング・デバイス・ボタンを押すことを示します。
PF1 x | PF1 x という表記は，PF1 に定義されたキーを押してから，別のキーまたはポインティング・デバイス・ボタンを押すことを示します。
`[Return]` | 例の中で，キー名が四角で囲まれている場合には，キーボード上でそのキーを押すことを示します。テキストの中では，キー名は四角で囲まれていません。 HTML 形式のドキュメントでは，キー名は四角ではなく，括弧で囲まれています。
... | 例の中の水平方向の反復記号は，次のいずれかを示します。 文中のオプションの引数が省略されている。 前出の 1 つまたは複数の項目を繰り返すことができる。 パラメータや値などの情報をさらに入力できる。
. . . | 垂直方向の反復記号は，コードの例やコマンド形式の中の項目が省略されていることを示します。このように項目が省略されるのは，その項目が説明している内容にとって重要ではないからです。
( ) | コマンドの形式の説明において，括弧は，複数のオプションを選択した場合に，選択したオプションを括弧で囲まなければならないことを示しています。
[ ] | コマンドの形式の説明において，大括弧で囲まれた要素は任意のオプションです。オプションをすべて選択しても，いずれか1つを選択しても，あるいは1つも選択しなくても構いません。ただし，OpenVMS ファイル指定のディレクトリ名の構文や，割り当て文の部分文字列指定の構文の中では，大括弧に囲まれた要素は省略できません。
[|] | コマンド形式の説明では，括弧内の要素を分けている垂直棒線はオプションを 1 つまたは複数選択するか，または何も選択しないことを意味します。
{ } | コマンドの形式の説明において，中括弧で囲まれた要素は必須オプションです。いずれか 1 つのオプションを指定しなければなりません。
太字 | 太字のテキストは，新しい用語，引数，属性，条件を示しています。
italic text | イタリック体のテキストは，重要な情報を示します。また，システム・メッセージ (たとえば内部エラーnumber)，コマンド・ライン(たとえば /PRODUCER=name)， コマンド・パラメータ(たとえばdevice-name) などの変数を示す場合にも使用されます。
UPPERCASE TEXT | 英大文字のテキストは，コマンド，ルーチン名，ファイル名，ファイル保護コード名，システム特権の短縮形を示します。
`Monospace type` | モノスペース・タイプの文字は，コード例および会話型の画面表示を示します。 C プログラミング言語では，テキスト中のモノスペース・タイプの文字は，キーワード，別々にコンパイルされた外部関数およびファイルの名前，構文の要約，または例に示される変数または識別子への参照などを示します。
- | コマンド形式の記述の最後，コマンド・ライン，コード・ラインにおいて，ハイフンは，要求に対する引数がその後の行に続くことを示します。
数字 | 特に明記しない限り，本文中の数字はすべて10 進数です。 10 進数以外 (2 進数，8 進数，16 進数) は，その旨を明記してあります。

# = (割り当て文)

> 文字列または整数値に対するシンボル名を定義します。

## 形式

> シンボル名 =[=] 式

> シンボル名[ビット位置，サイズ] =[=] 置換式

注意 DCL コマンド名としてすでに使用されているシンボル名を割り当てないでください。 IF，THEN，ELSE，および GOT のようなシンボル割り当ては，コマンド・プロシージャの実行を妨げる可能性がありますので，行わないでください。

## パラメータ

> ### シンボル名

> シンボル名に対して，文字から 255 文字までの文字列を定義します。シンボル名には，DEC 補助文字(DEC MCS) 文字セットの英数字，アンダースコア(_)，またはドル記号($) を含めることができます。ただし，シンボル名は英字(大文字と小文字は同じとみなします)，アンダースコア，またはドル記号から始めなければなりません。割り当て文に等号を 1 つ(=) 指定すると，シンボル名を現在のコマンド・レベルのローカル・シンボル・テーブルに登録します。割り当て文に等号 2 つ(==) を指定すると，シンボル名をグローバル・シンボル・テーブルに登録します。

> ### 式

> 割り当て文の右辺に値を指定します。このパラメータは文字列，整数値，シンボル名，レキシカル関数，またはこれらの要素の組み合わせで構成できます。式に含まれる各構成要素を評価し，結果をシンボルに割り当てます。リテラル文字列は，すべて二重引用符(" ") で囲まなければなりません。シンボルを含む式を指定した場合には，シンボルの値を使用して式を評価します。

> 式を評価した結果は，文字列値または符合付きの整数値になります。式を評価した結果が文字列になる場合には，そのシンボルに文字列値を割り当てます。式を評価した結果が整数値の場合には，シンボルに整数値を割り当てます。整数値が 4 バイトのバッファに収まり切れない場合でも，エラー・メッセージは出力されません。

> 式中の演算子の概略と，式の指定方法についての詳細，および式の評価方法についての詳細は，『Compaq OpenVMS ユーザーズ・マニュアル』を参照してください。

> DCL は，1024 バイトのバッファを使用して割り当て文を記憶し式を評価します。シンボル名，式，および式の計算の長さは 1024 バイトを超えることはできません。

> ### [ビット位置，サイズ]

> シンボル名の現在の 32 ビットの値に， 2 進数値としての式の値を挿入することを指定します。この種の割り当て文は，シンボル名の現在の値を評価した後で，指定したビット数を置換式の結果と置き換えます。ビット位置は，ビット 0 を基準として相対位置であり，置き換えを実行する先頭の位置を指定します。置き換えるシンボルが整数の場合には，ビット位置は 32 より小さい値でなければなりません。またビット位置とサイズの合計も 32 以下でなければなりません。

> 置き換えるシンボルが文字列の場合には，ビット位置は 6152 より小さい値でなければなりません。各文字は 8 ビットを使って表現するため， 768 文字目までならどの文字列からでも，置き換えを開始できます (768 文字目は，6144 というビット位置から始まります)。ビット位置とサイズの合計は，6152 以下でなければなりません。

> サイズとは，置き換えるビット数です。 32 より大きいサイズを指定すると，DCL はサイズを 32 に切り捨てます。

> かぎ括弧は，必ず指定しなければなりません。シンボル名とかぎ括弧の間に，空白を入れることはできません。ビット位置とサイズの値は，整数式として指定します。

> ### 置換式

> 変更するシンボルを置き換えるために使用する，値を指定します。置換式は，整数式として使用します。

> 変更するシンボルが整数の場合には，置換式は，シンボルに割り当てられた値と置き換えられるビット・パターンを定義します。変更するシンボルが文字列の場合には，置換式の結果は，文字列の指定されたビットを置き換えるビット・パターンを定義します。変更しているシンボルが未定義の場合には，置換式の結果は空文字列を置き換えます。

## 説明

> 割り当て文を使用してシンボルを定義すると，コマンド言語を拡張することができます。会話型コマンド・レベルでは，シンボルを使用してコマンド，またはコマンド行の同義語を定義できます。コマンド・プロシージャ・ファイルでは，シンボルを使用して条件式に変数を代入することができます。

> 定義できるシンボルの最大数は，以下により決まります。

> - 現在のプロセスでシンボル・テーブルおよびラベルを含めるためにコマンド・インタプリタが使用できる領域のサイズ

>   領域のサイズは，各プロセスごとにシステム・パラメータ CLISYMTBL で決まります。

> - シンボル名のサイズとその値

>   コマンド・インタプリタは，シンボル名とその値に対して領域を割り当てます。また，各シンボルには数バイト多めに割り当てられます。

##

### 例

#1
    $ LIST == "DIRECTORY"

> この割り当て文は， DCL コマンド DIRECTORY に対するグローバル・シンボル定義として，ユーザ定義同義語 LIST を定義します。

#2
    $ COUNT = 0
    $ LOOP:
    $      COUNT = COUNT + 1
    $      IF P'COUNT' .EQS. "" THEN EXIT
    $      APPEND/NEW &P'COUNT' SAVE.ALL
    $      DELETE &P'COUNT';*
    $      IF COUNT .LT. 8 THEN GOTO LOOP
    $ EXIT

> このコマンド・プロシージャ COPYDEL.COM は，パラメータとして指定したファイルを SAVE.ALL というファイルに追加しています。追加後に，追加したファイルを削除します。 8 個までファイル名が使用でき，各々シンボル P1，P2，... に割り当てられます。

> このコマンド・プロシージャはカウンタを使用して参照され，ループ内では，空文字列かどうかを IF 文で検査してから処理を行っています。この IF 文では，シンボル COUNT の値が文字 P に結合され，ループの 1 回目では P1 を，2 回名では P2 を，というように各々検査されます。 P`COUNT' の評価後に，P1 や P2 等に相当するファイル名の置換が IF コマンドのコンテキストの中で自動的に行われます。

> APPEND や DELETE コマンドは，入力パラメータとしてファイル指定を必要とするので，自動的な置換を行いません。 &P`COUNT' のアンパサンド(&)は，これらのコマンドでシンボル置換を強制的に行います。これらのコマンドがループ内で最初に検索された時には， COUNT はその現在の値に置換されます。コマンドの実行時には，アンパサンドで別の置換を行います。つまり，最初のファイル指定が P1 で置換され， 2 番目のファイル指定は P2 で置換されます。

> このコマンド・プロシージャを起動するには，次のコマンドを使用します。

>     $ @COPYDEL ALAMO.TXT BEST.DOC

> ファイル ALAMO.TXT と BEST.DOC は，それぞれ SAVE.ALL に追加された後に削除されます。

#3
    $ A = 25
    $ CODE = 4 + F$INTEGER("6") - A
    $ SHOW SYMBOL CODE
      CODE = -15   HEX = FFFFFFF1   Octal = 1777761

> この例は，2 つの割り当て文を含んでいます。最初の割り当て文は，25 という値をシンボル A に割り当てます。 2 番目の割り当て文は，整数(4)，レキシカル関数(F$INTEGER(6))，およびシンボル A を含む式を評価します。式の結果である --15 が，シンボル CODE に割り当てられます。

#4
    $ FILENAME = "JOBSEARCH" - "JOB"
    $ FILETYPE = ".OBJ"
    $ FILESPEC = FILENAME + FILETYPE
    $ TYPE 'FILESPEC'

> 最初のコマンドでは，シンボル FILENAME に "SEARCH" を割り当てます。文字列"SEARCH" は，式で実行された文字列削除演算の結果です。 2 番目のコマンドでシンボル FILETYPE に ".OBJ" を割り当て， 3 番目のコマンドでシンボル FILENAME と FILETYPE を足して， FILESPEC を作成しています。

> シンボル FILENAME と FILETYPE の値が連結されているので， FILESPEC には文字列"SEARCH.OBJ"が割り当てられます。そしてシンボル FILESPEC は，TYPE コマンドのパラメータとして使用されます。一重引用符(` ') で，シンボル FILESPEC をその値である SEARCH.OBJ に展開するように指定しています。そのため，TYPE コマンドでファイル SEARCH.OBJ をタイプします。

#5
    $ BELL[0,32] = %X07
    $ SHOW SYMBOL BELL
      BELL = ""

> この例では，シンボル BELL を算術置換文で作成しています。シンボル BELL は未定義であったため，空文字列に 16 進数の 7 が挿入されます。この値は ASCII コードでは，ターミナルのベルを鳴らすコードです。 SHOW SYMBOL BELL コマンドを実行すると，ターミナルのベルが鳴ります。

> シンボル BELL に整数値が定義済みであった場合には，BELL を表示すると，その新しい値が表示されます。

#6
    $ $=34
    %DCL-W-NOCOMD, no command on line - reenter with alphabetic first
    character
    $ $$=34
    $ SHOW SYMBOL $$
    %DCL-W-UNDSYM, undefined symbol - check validity and spelling
    $ SHOW SYMBOL $
    $ = 34   Hex = 00000022  Octal = 00000000042

> ドル記号($) で始まるシンボルを使う場合， DCL が最初のドル記号を捨ててしまうので，ドル記号を 2 つ続けて($$) 使用してください。

次へ | 目次 | 索引