前へ | 次へ | 目次 | 索引 |
話し言葉がその語順によって意味が変わるのと同じように,DCL でも,コマンド行の各要素を特定の語順に並べる必要があります。
次の 2 つの例は,典型的な DCL コマンドの構文,つまり形式を示しています。
ラベル: コマンド/修飾子=値=キーワード |
ラベル: コマンド パラメータ/修飾子 |
DCL コマンドには,いくつかの必須パラメータがあります。これらのパラメータは,必ずコマンド行に入力しなければなりません。これらのパラメータを入力しなければ,パラメータの情報を求めるプロンプトが表示されます。アンダスコア(_)で始まる行は,システムが応答を待っていることを意味します。
任意パラメータの入力を求めるプロンプトが表示された場合,Enter を押せば,そのパラメータを省略できます。どちらのプロンプトの場合でも,必須パラメータを入力した後,残りのパラメータや修飾子を1 つ以上入力できます。
スラッシュ(/)またはアットマーク(@)を含むパラメータは,二重引用符("")で囲む必要があります。
次の例では,TYPE コマンドはファイル指定を要求しています。ファイル指定は TYPE コマンドの必須パラメータであるため,このパラメータを指定しなかった場合には,システムから要求されます。
$ TYPE _File: WATER.TXT |
コマンド・プロンプトの後に Ctrl/Z を押すと,DCL はそのコマンドを無視して DCL プロンプトを再表示します。
2.2.3 省略時の値の使用
省略時の設定と呼ぶ一部の項目は,コマンド行に指定する必要がありません。DCL が省略時の設定によって操作を実行する場合には,コマンドに特定の値を割り当てたり,そのコマンドに関連する特定の機能を実行します。コマンドを入力するときに,これらの値や機能を指定する必要はありません。一般に,値や機能は,ユーザが期待するものまたは典型的であると考えられるものです。
DCL は,コマンド・パラメータや修飾子など,いくつかのエリアで省略時の値を提供します。パラメータの省略時の値については,本書で説明されている特定の DCL コマンドについての節を参照してください。修飾子の省略時の値については,第 2.5 節 を参照してください。
PRINT コマンドの修飾子として部数を指定しなかった場合には,DCL は省略時の値である 1 を使用します。次の例では,PRINT コマンド行に /COPIES 修飾子を指定しているため,省略時の値が無効になり,ファイルが 4 部印刷されます。
$ PRINT/COPIES=4 MYFILE.TXT |
1 行を超えるコマンドを入力する場合には,次の操作を実行して,コマンドを次の行に継続できます。
手順 | 操作 |
---|---|
1 | コマンド行の最後にハイフン(-)を指定し,Return を押す。
アンダスコア(_)の後に DCL プロンプト($)が表示される。 |
2 | このプロンプトの後にコマンド行の残りの部分を入力する。
アンダスコアから始まる行は,システムがユーザの応答を待っていることを示す。 |
次のことに注意してください。
次の例では,複数の行に継続されるコマンドの入力方法を示しています。
$ COPY/LOG FORMAT.TXT,FIGURE.TXT,ARTWORK.TXT - _$ SAVE.TXT |
DCL コマンドの PIPE コマンドを使用すると,1 つの DCL コマンドから複雑なコマンド処理文を作成することができます。たとえば,同一 DCL コマンド行から,次に示す 1 つまたは複数の操作を実行できます。
詳細は,第 14.20 節 および『OpenVMS DCL ディクショナリ: N--Z』の PIPE コマンドの説明を参照してください。
2.3 DCL コマンドの入力規則
DCL コマンドを入力するときには,次の規則が適用されます。DCL コマンドにおける拡張ファイル名の使用については,第 5 章 を参照してください。
コマンドの中の各要素は 255 文字を超えてはなりません。また,すべてのシンボル 1 とレキシカル関数 2 を値に変換した結果得られる,コマンド全体が 1,024 文字を超えないようにすることが必要です。
たとえば,次の 2 つのコマンドは等しくなります。
$ PRIN/COPI=2 FORMAL_ART.TXT $ PRINT/COPIES=2 FORMAL_ART.TXT |
ただし,コマンド・プロシージャの中ではコマンドを短縮しないでください。これは,コマンド・プロシージャの上位互換性や明確さを維持するためです。
コマンド・プロシージャの中のでのコマンドの使い方については,第 13 章 と 第 14 章 を参照してください。
1 情報を短縮してシステムに渡す場合には,シンボルを使用します(第 12 章 を参照)。2 レキシカル関数 は,システムから情報を得ます(第 15 章 を参照)。 |
ファイル指定は,最も一般的なパラメータです。DCL コマンドは,入力ファイル指定(コマンドによって処理されるファイル)と出力ファイル指定(コマンドによって作成されるファイル)を受け入れます。
コマンド行でパラメータを指定するときには,次の規則が適用されます。
DIRECTORY [file-spec] |
SHOW PRINTER device-name |
次の例は,入力ファイル LISTS.TXT を出力ファイル FORMAT.TXT にコピーする方法を示しています。
$ COPY LISTS.TXT FORMAT.TXT |
次の例は,ファイル指定の一覧をパラメータとして入力する方法を示しています。
DELETE file-spec[,...] |
次の例は,パラメータを複数指定する方法を示しています。ここでは,3 つのファイルが 4 番目のファイルにコピーされます。3 つのファイル指定(PLUTO.TXT,SATURN.TXT,EARTH.TXT)が最初のパラメータです。PLANETS.TXT は 2 番目のパラメータです。PLUTO.TXT,SATURN.TXT,EARTH.TXT の各ファイル指定の間にはスペースがないことに注意してください。
$ COPY PLUTO.TXT,SATURN.TXT,EARTH.TXT PLANETS.TXT |
修飾子には,次の3種類があります。
短縮した名前が,同じコマンドのすべての修飾子名の間で固有の名前として識別される場合には,修飾子名を短縮できます。しかし,コマンド・プロシージャの互換性を維持するには,コマンド・プロシージャの内部でコマンドと修飾子を短縮しないようにしてください。
コマンドには省略時の修飾子が設定されています。コマンドの省略時の設定と異なる場合を除き,修飾子を指定する必要はありません。この後の節では,修飾子のタイプと修飾子の省略時の設定について説明します。各コマンドの省略時の設定については,『OpenVMS DCL ディクショナリ』を参照してください。
2.5.1 コマンド修飾子
コマンド修飾子はコマンドを詳細に指定します。修飾子はコマンド行のどこに指定してもかまいませんが,コマンド名の後に指定するのがよいです。複数の修飾子を指定する場合には,コマンド名の後にまとめて指定します。
次の例では,/QUEUE がコマンド修飾子です。ファイルSATURN.TXT と EARTH.TXT が印刷キュー LN03_PRINT に登録されます。
$ PRINT/QUEUE=LN03_PRINT SATURN.TXT,EARTH.TXT |
定位置修飾子は,コマンドやパラメータの意味に変更を加えるためのもので,コマンド文字列内での指定位置によってコマンド全体の意味が異なります。コマンドと最初のパラメータの間に定位置修飾子を指定した場合には,コマンド文字列全体が影響を受けます。パラメータの後に定位置修飾子を指定した場合には,そのパラメータだけが影響を受けます。
次の例では,最初のPRINT コマンドは,ファイル SPRING.SUN と FALL.SUM のコピーを 2 部印刷することを要求しています。2 番目の PRINT コマンドは,ファイル SPRING.SUM のコピーは 2部要求していますが,FALL.SUM のコピーは 1 部しか要求していません。
$ PRINT/COPIES=2 SPRING.SUM,FALL.SUM $ PRINT SPRING.SUM/COPIES=2,FALL.SUM |
パラメータ修飾子は,入力ファイルや出力ファイルなどの特定のタイプのパラメータと一緒に使用します。たとえば,BACKUP コマンドは,入出力ファイル指定にだけ適用されるいくつかのパラメータ修飾子を受け入れます。
次の例の /CREATED と /BEFORE 修飾子は入力ファイルと一緒にしか指定できない修飾子です。これらの修飾子は,特定の入力ファイルを選択してバックアップ操作を行います。なお,アスタリスク(*)は,ファイル名に置き換わるワイルドカード文字です。BACKUP は,2002 年 12 月 11 日以前に作成されたファイル・タイプ TXT を持つすべてのファイルを選択します。
$ BACKUP *.TXT/CREATED/BEFORE=11-DEC-2002 NEWFILE.TXT |
1 つのコマンド行で矛盾する複数の修飾子を使用すると,最も右側の修飾子が優先されます。
コマンドの中には,同一コマンド行に指定できない相反する修飾子が入っているものもあります。互換性のない修飾子を使用すると,コマンド・インタプリタはエラー・メッセージを表示します。
次の例は矛盾する修飾子を示しています。PRINT コマンドは,/COPIES=2 修飾子と /NOBURST 修飾子だけを受け付けます。これは,これらの修飾子がコマンド行に最後に入力された修飾子だからです。
$ PRINT MYFILE/COPIES=3/BURST/COPIES=2/NOBURST EARTH.TXT |
修飾子には,キーワード,ファイル指定,文字列,数値を指定できます。修飾子に値を入力するときには,修飾子と値を等号(=)またはコロン(:)で分けます。
修飾子キーワードの中には,さらに情報が必要なものもあります。この場合には,キーワードと値をコロンまたは等号で分けます。
値を必要とする複数のキーワードを指定するには,キーワードを括弧で囲み,キーワードと値を等号(=)またはコロン(:)で分けます。
$ PRINT/COPIES=3 MYFILE.DAT |
$ PRINT/COPIES:3 MYFILE.DAT |
$ SET SECURITY/PROTECTION:GROUP:RW MYFILE.DAT |
$ SET SECURITY/PROTECTION=GROUP=RW MYFILE.DAT |
$ SET SECURITY/PROTECTION=(OWNER=RWD,GROUP=RW)myfile.dat |
$ SET SECURITY/PROTECTION=(OWNER:RWD,GROUP:RW)myfile.dat |
コマンドや修飾子の中には,PRINT/AFTER コマンドのように日付と時刻を値として取るものがあります。このような値は,次のいずれかの形式で指定します。
絶対時刻は,特定の日付または時刻を示します。絶対時刻の形式は次のとおりです。
[dd-mmm-yyyy][:hh:mm:ss.cc] |
各フィールドは,次のような意味を持っています。
dd | 日。1 〜 31 の整数。 |
mmm | 月。JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC。 |
yyyy | 年(西暦)。整数。 |
hh | 時間。0 〜23 の整数。 |
mm | 分。0 〜 59 の整数。 |
ss | 秒。0 〜 59 の整数。 |
cc | 1/100 秒。0 〜 99 の整数。 |
絶対時刻には,次のような規則が適用されます。
絶対時刻は,次のいずれかのキーワードとしても指定できます。
TODAY | 今日の 00:00:00.00 時 |
TOMORROW | 明日の 00:00:00.00 時 |
YESTERDAY | 昨日の 00:00:00.00 時 |
次に,絶対時刻の指定の例をいくつか紹介します。
時刻指定 | 結果 |
---|---|
11-DEC-2002:13 | 2002年12月11日午後1時 |
11-DEC | 今年の12月11日の午前0時 |
15:30 | 今日の午後 3 時 30 分 |
19-- | 今年の今月の 19 日の午前 0 時 |
19--:30 | 今月の 19 日の午前 0 時30 分 |
前へ | 次へ | 目次 | 索引 |