前へ | 次へ | 目次 | 索引 |
指定された出力ファイルに, 1 つまたは複数の指定された入力ファイルの内容を追加します。
APPEND 入力ファイル[,...] 出力ファイル
入力ファイル[,...]
追加する1つ,または複数の入力ファイルの名前を指定します。入力ファイルは,すべて指定された順に,出力ファイルの最後に追加されます。複数の入力ファイルを指定する場合には,コンマ (,) またはプラス記号 (+) で区切ります(コンマとプラス記号は,同じ意味に解釈されます)。入力ファイルには,ワイルドカード文字 (* と %) を使用することができます。
出力ファイル
入力ファイルが追加されるファイルの名前を指定します。少なくとも1つの出力ファイルを指定しなければなりません。装置やディレクトリを指定しなかった場合には,APPEND コマンドは,現在の省略時の装置およびディレクトリを使用します。省略したファイル指定要素に対しては,APPEND コマンドは,入力ファイルの対応する要素を使用します。
出力ファイルの指定時にアスタリスク・ワイルドカード文字 (*) を使用すると, APPEND コマンドは,指定した入力ファイルの対応する要素を使用します。複数の入力ファイルを追加している場合には,最初の入力ファイルの対応する要素を使用します。
APPEND コマンドの構文と機能は,COPY コマンドの構文と機能に似ています。通常,APPEND コマンドは, 1つまたは複数のファイルの内容を既存のファイルの最後に追加します。この時,バージョン番号は増えません。 /NEW_VERSION 修飾子を指定すると,その名前を持つファイルが存在しない場合は,新しい出力ファイルが作成されます。DECwindows 複合ドキュメントに APPEND コマンドを使用する場合には,特に注意してください。詳細は『Guide to OpenVMS File Applications』を参照してください。
/ALLOCATION=ブロック数
出力ファイルの初期占有サイズを,1ブロック 512 バイトのブロック数で設定します。 /ALLOCATION 修飾子が指定されていない場合や, /ALLOCATION修飾子にブロック数を指定しない場合には,出力ファイルの初期占有サイズは,入力ファイルのサイズによって決定されます。占有サイズは,/NEW_VERSION 修飾子が指定され,新しいファイルが実際に作成される場合にだけ適用されます。
/BACKUP
/BEFORE または /SINCE 修飾子を適用する時刻属性を指定します。この修飾子を指定すると,最新のバックアップの日時をもとにファイルを選択します。この修飾子は他の時刻属性を指定する修飾子,/CREATED,/EXPIRED,および /MODIFIED 修飾子とは同時に指定できません。これら 4 つの修飾子のいずれも指定しない場合には,省略時の設定として /CREATED 修飾子が使用されます。/BEFORE[=時刻]
指定された時刻以前の時刻属性をもつファイルを選択します。絶対時刻,または絶対時刻とデルタ時間の組み合わせを指定します。また,BOOT,LOGIN,TODAY( 省略時の設定 ),TOMORROW,および YESTERDAY というキーワードも指定できます。適用する時刻属性は,/BACKUP,/CREATED( 省略時の設定 ),/EXPIRED,または /MODIFIED 修飾子のいずれかで指定します。時刻指定の詳細は,『OpenVMS ユーザーズ・マニュアル』,またはオンライン・ヘルプの DCL_Tips トピックの Date_time を参照してください。
/BY_OWNER[=利用者識別コード]
ファイル所有者の利用者識別コード (UIC) が,指定された所有者 UIC と一致する場合にだけ,そのファイルを選択します。 /BY_OWNER 修飾子だけを指定し,UIC を省略した場合には,現在のプロセスの UIC が使用されます。UIC を指定する場合には,『OpenVMS ユーザーズ・マニュアル』に説明されている標準的な UIC 形式を使用します。
/CONFIRM
/NOCONFIRM (省略時の設定)
ファイルに対する各 APPEND 操作の実行を確認するために,操作の前に確認を要求します。システムがプロンプトを表示したら,次のいずれかの応答を入力します。
YES NO QUIT TRUE FALSE [Ctrl/Z] 1 0 ALL [Return]
応答には,大文字と小文字を任意に組み合わせて使用することができます。単語による応答は,1 文字以上 ( たとえば,TRUE の場合は T,TR,またはTRU) に短縮することができます。肯定応答は,YES,TRUE,1 です。否定応答は,NO,FALSE,0, Return です。QUIT と Ctrl/Z は,その時点でコマンドの処理を停止する時に使用します。ALL を応答すると,コマンドは処理を継続しますが,プロンプトは表示されなくなります。上記に示されていない応答を入力すると,DCL はエラー・メッセージを出力し,同じプロンプトがもう一度表示されます。
/CONTIGUOUS
/NOCONTIGUOUS
出力ファイルが物理的に連続したディスク・ブロックを使用するかどうかを指定します。何も指定されていない場合には,APPEND コマンドは,対応する入力ファイルと同じ属性で出力ファイルを作成し,十分な連続領域が無くてもエラー・メッセージは表示しません。この修飾子は,/NEW_VERSION 修飾子とともに使用します。入力ファイルが連続している場合には,連続した領域に出力ファイルを作成しようとしますが,連続した出力ファイルを作成するための十分な領域がない場合でもエラーは報告しません。属性の異なる複数の入力ファイルを追加する場合には,出力ファイルは,連続したファイルになることも非連続のファイルになることもあります。確実に連続した領域に出力ファイルを作成したい場合は, /CONTIGUOUS 修飾子を使用する必要があります。
/CREATED (省略時の設定)
/BEFORE または /SINCE 修飾子を適用する時刻属性を指定します。この修飾子を指定すると,作成日時をもとにファイルを選択します。この修飾子は他の時刻属性を指定する修飾子,/BACKUP,/EXPIRED,および /MODIFIED 修飾子とは同時に指定できません。これら 4 つの修飾子のいずれも指定しない場合には,省略時の設定として /CREATED 修飾子が使用されます。/EXCLUDE=(ファイル指定[,...])
指定されているファイル(1つまたは複数)と一致するファイルを, APPEND操作から除外することを指定します。ファイル指定にはディレクトリを含むことはできますが,装置を含むことはできません。ファイル指定の中で,ワイルドカード文字 (* と %) を使用することができますが,相対バージョン番号を指定して特定のバージョンを除外することはできません。 1つのファイルだけを指定する場合には,括弧を省略できます。/EXPIRED
/BEFORE または /SINCE 修飾子を適用する時刻属性を指定します。この修飾子を指定すると,満了日時をもとにファイルを選択します ( 満了日は,SET FILE/EXPIRATION_DATE コマンドで設定します )。この修飾子は他の時刻属性を指定する修飾子,/BACKUP,/CREATED,および /MODIFIED 修飾子とは同時に指定できません。これら 4 つの修飾子のいずれも指定しない場合には,省略時の設定として /CREATED 修飾子が使用されます。/EXTENSION=ブロック数
ファイルを拡張するたびに,出力ファイルに追加されるブロック数を指定します。 /EXTENSION 修飾子を指定すると,/NEW_VERSION 修飾子も指定されていると解釈されるため,/NEW_VERSION 修飾子を指定する必要はありません。この修飾子は,/NEW_VERSION 修飾子と同時に指定します。拡張サイズは,新しいファイルが実際に作成される場合にだけ使用されます。
/LOG
/NOLOG (省略時の設定)
APPEND コマンドが,追加される各ファイルのファイル指定を表示するかどうかを制御します。 /LOG 修飾子を使用した場合には,APPEND コマンドは,各追加操作を実行したあとで,追加されたブロック数またはレコード数と,入力ファイルと出力ファイルのファイル名を表示します。/MODIFIED
/BEFORE または /SINCE 修飾子を適用する時刻属性を指定します。この修飾子を指定すると,最新の変更日時をもとにファイルを選択します。この修飾子は他の時刻属性を指定する修飾子,/BACKUP,/CREATED,および /EXPIRED 修飾子とは同時に指定できません。これら 4 つの修飾子のいずれも指定しない場合には,省略時の設定として /CREATED 修飾子が使用されます。/NEW_VERSION
/NONEW_VERSION (省略時の設定)
指定した出力ファイルが存在しない場合に,APPEND コマンドが,新しい出力ファイルを作成するかどうかを制御します。省略時の設定では,指定した出力ファイルは既存のファイルでなければなりません。指定した出力ファイルが存在しない場合には,新しい出力ファイルを作成するために /NEW_VERSION 修飾子を使用します。出力ファイルが存在する場合には,/NEW_VERSION 修飾子は無視され,入力ファイルはその出力ファイルに追加されます。/PROTECTION=(所有区分[:アクセス][,...])
出力ファイルに対して適用される保護を定義します。
- 所有区分は,システム (S), 所有者 (O), グループ (G) またはワールド(W) から指定します。
- アクセス・コードは,読み込み (R), 書込み (W), 実行 (E) または削除 (D) から指定します。
出力ファイルが存在する場合には,省略時の保護属性 ( 指定されていない保護属性を含む ) は,そのファイルの現在の保護設定から適用され,新しい出力ファイルが作成される場合には,現在の省略時の保護設定が使用されます。この修飾子は,/NEW_VERSION 修飾子と同時に指定します。
保護コード指定についての詳細は,『OpenVMS Guide to System Security』を参照してください。
/READ_CHECK
/NOREAD_CHECK (省略時の設定)
すべてのレコードが正しく読み込まれたかどうか確認するために,入力ファイルの各レコードを 2 回ずつ読み込むことを, APPEND コマンドに指定します。/SINCE[=時刻]
指定された時刻以降の時刻属性をもつファイルを選択します。絶対時刻,または絶対時刻とデルタ時間の組み合わせを指定します。また,BOOT,LOGIN,TODAY( 省略時の設定 ),TOMORROW,および YESTERDAY というキーワードも指定できます。適用する時刻属性は,/BACKUP,/CREATED( 省略時の設定 ),/EXPIRED,または /MODIFIED 修飾子のいずれかで指定します。時刻指定の詳細は,『OpenVMS ユーザーズ・マニュアル』,またはオンライン・ヘルプの DCL_Tips トッピクの Date_Timeを参照してください。
/WRITE_CHECK
/NOWRITE_CHECK (省略時の設定)
各レコードが正しく追加され,出力ファイルからそのレコードが正しく読み込めることを確認するために,レコードが書き出された後,そのレコードを読み込むことを APPEND コマンドに指定します。
#1 |
---|
$ APPEND TEST3.DAT TESTALL.DAT |
この APPEND コマンドは,省略時のディスクおよびディレクトリにあるTEST3.DAT というファイルの内容を,同様に省略時のディスクおよびディレクトリにある TESTALL.DAT というファイルに追加します。
#2 |
---|
$ APPEND/NEW_VERSION/LOG *.TXT MEM.SUM %APPEND-I-CREATED, USE$:[MAL]MEM.SUM;1 created %APPEND-S-COPIED, USE$:[MAL]A.TXT;2 copied to USE$:[MAL]MEM.SUM;1 (1 block) %APPEND-S-APPENDED, USE$:[MAL]B.TXT;3 appended to USE$:[MAL]MEM.SUM;1 (3 records) %APPEND-S-APPENDED, USE$:[MAL]G.TXT;7 appended to USE$:[MAL]MEM.SUM;1 (51 records) |
APPEND コマンドは,.TXT ファイル・タイプのすべてのファイルを, MEM.SUM という名前のファイルに追加します。 /LOG 修飾子は,追加された各入力ファイルの指定の表示を要求します。 MEM.SUM ファイルが存在しない場合は,APPEND コマンドは出力されるとおりに作成します。出力に示されるブロックまたはレコード数は,ターゲット・ファイルの合計ではなく,ソース・ファイルを参照します。
#3 |
---|
$ APPEND/LOG A.DAT, B.MEM C.* %APPEND-S-APPENDED, USE$:[MAL]A.DAT;4 appended to USE$:[MAL]C.DAT;4 (2 records) %APPEND-S-APPENDED, USE$:[MAL]B.MEM;5 appended to USE$:[MAL]C.DAT;4 (29 records) |
APPEND コマンドは,ファイル A.DAT および B.MEM を,すでに存在している C.DAT ファイルに追加します。
#4 |
---|
$ APPEND/LOG A.* B.* %APPEND-S-APPENDED, USE$:[MAL]A.DAT;5 appended to USE$:[MAL]B.DAT;1 (5 records) %APPEND-S-APPENDED, USE$:[MAL]A.DOC;2 appended to USE$:[MAL]B.DAT;1 (1 record) |
入力ファイル指定と出力ファイル指定は,ともにファイル・タイプ・フィールドにワイルドカードが使用されています。 APPEND コマンドは,ファイル名 A の各ファイルを,ファイル名として既存のファイルに追加します。最初の入力ファイルのファイル・タイプによって,出力ファイル・タイプが決まります。
#5 |
---|
$ APPEND BOSTON"BILL_BESTON YANKEE"::DEMO1.DAT, DEMO2.DAT $ _To: DALLAS::DISK1:[MODEL.TEST]TEST.DAT |
この APPEND コマンドは,遠隔ノード BOSTON 上のファイル DEMO1.DAT と DEMO2.DAT を,遠隔ノード DALLAS 上のファイル TEST.DAT に追加します。
論理名を作成し,指定された論理名に1つまたは複数の等価文字列を割り当てます。既に定義されている論理名を指定した場合には,古い等価名は新しい等価名で置き換えられます。
ASSIGN 等価名[,...] 論理名[:]
等価名[,...]
1 文字から 255 文字までの文字列を指定します。等価名は通常,ファイル名や装置名,他の論理名であり,特定の論理名テーブル内の論理名に割り当てられます。文字列に大文字の英数字,ドル記号 ($),またはアンダースコア文字 (_) 以外の文字が含まれている場合には,文字列を二重引用符 (" ") で囲む必要があります。等価文字列に二重引用符が含まれている場合には,2 つの連続した二重引用符 ("") を指定します。1 つの論理名に複数の等価名を指定すると,サーチ・リストが生成されます。ファイル指定として使用される等価名を指定する場合には,等価名がファイル指定としてそのまま使用されるときに必要となる句読点(コロン (:),かぎ括弧 ([]),ピリオド (.) )を含む必要があります。したがって,装置名を等価名として指定する場合には,装置名の最後にコロンを指定しなければなりません。
ASSIGN コマンドを使用すると,同じ論理名を複数の等価名に与えることができます。1 つの論理名に対して複数の等価名を指定する場合には,サーチ・リストが生成されます。サーチ・リストについての詳細は,『OpenVMS ユーザーズ・マニュアル』を参照してください。
論理名[:]
論理名文字列を指定します。論理名文字列には,1 文字から 255 文字までを含むことができます。指定した論理名テーブル内の等価名を表すのに論理名を選択することができます。論理名に大文字の英数字,ドル記号,アンダースコア以外の文字が含まれている場合には,論理名を二重引用符で囲まなければなりません。論理名に二重引用符が含まれる場合には,論理名全体を二重引用符で囲み,二重引用符が必要な位置に連続した 2 つの二重引用符を指定します。論理名の最後にコロンを指定した場合,その名前を論理名テーブルに登録する前に,システムがコロンを削除します。 ( この点は DEFINE コマンドと異なります。DEFINEコマンドでは,コロンはそのまま保存されます。) プロセス・ディレクトリ論理名テーブル (LNM$PROCESS_DIRECTORY) またはシステム・ディレクトリ論理名テーブル (LNM$SYSTEM_DIRECTORY) に登録される論理名は,1 文字から 31 文字の長さでなければなりません。この長さには,ドル記号やアンダースコア文字も含みます。省略時の設定では,論理名はプロセス論理名テーブルに登録されます。
論理名に英数字,ドル記号およびアンダースコア文字以外の文字を含める場合には,名前を二重引用符で囲みます。論理名に二重引用符を含める場合には,名前を二重引用符で囲み,二重引用符の必要な部分に 2 つの連続した二重引用符を置きます。論理名を二重引用符で囲むと,英字の大文字と小文字の区別は保持されます。
ASSIGN コマンドは,1 つまたは複数の等価名を表わす論理名を定義して,論理名テーブルにエントリを作成します。等価名は,装置名,他の論理名,ファイル指定,またはその他の任意の文字列です。論理名を格納したい論理名テーブルを指定するには,/PROCESS,/JOB, /GROUP,/SYSTEM,または /TABLE 修飾子を使用します。複数の修飾子を指定した場合は,最後に指定した修飾子だけが有効です。テーブルを指定しない場合は,省略時の設定により /TABLE=LNM$PROCESS ( または /PROCESS) に格納されます。
作成する論理名のアクセス・モードを指定するには,/USER_MODE, /SUPERVISOR_MODE,または /EXECUTIVE_MODE 修飾子を使用します。複数の修飾子を指定した場合は,最後に指定した修飾子だけが有効です。アクセス・モードを指定しない場合は,スーパバイザ・モード名が作成されます。論理名は,その論理名を格納しているテーブルと同じモードかまたは外側のモードで作成できます ( ユーザ・モードが一番外側のモードで,エグゼクティブ・モードが一番内側のモードです )。
名前ごとにアクセス・モードが異なっていれば,同じ論理名テーブルに同じ名前を持つ複数の論理名を格納することができます ( ただし,テーブル内の既存の論理名が NO_ALIAS 属性を持つ場合は,このテーブルで同じ名前を使用して外側のモードの論理名を作成できません )。
既存の論理名と同じテーブルで同じモードの同じ名前を持つ論理名を作成すると,新しい論理名で既存の論理名が置き換えられます。
DEFINE コマンドを使用して,論理名を作成することもできます。テーブルから論理名を削除するには,DEASSIGN コマンドを使用します。
注意
SYS$SYSTEM: 内の実行可能イメージのファイル名と同じ論理名は割り当てないでください。このような論理名を使用すると,そのイメージを起動できなくなります。
論理名の作成と使用の方法については,『OpenVMS ユーザーズ・マニュアル』を参照してください。
/EXECUTIVE_MODE
SYSNAM(システム論理名)特権が必要です。指定されたテーブルにエグゼクティブ・モードの論理名を作成します。 /EXECUTIVE_MODE 修飾子を指定しても SYSNAM 特権が与えられていない場合には,ASSIGN コマンドはその修飾子を無視して,スーパバイザ・モードの論理名を作成します。論理名のモードは,登録する論理名テーブルのモードと同じか,またはより低いモードでなければなりません。
/GROUP
SYSPRV(システム特権)または GRPNAM(グループ論理名)特権が必要です。論理名をグループ論理名テーブルに登録します。UIC( 利用者識別コード ) のグループ番号が等しい他のユーザは,その論理名をアクセスすることができます。 /GROUP 修飾子は /TABLE=LNM$GROUP の同意語です。
/JOB
論理名をジョブ単位の論理名テーブルに登録します。論理名を作成しているプロセスと同じジョブの階層構造に含まれるプロセスはすべて,その論理名をアクセスすることができます。 /JOB 修飾子は /TABLE=LNM$JOB の同意語です。/LOG (省略時の設定)
/NOLOG
既存の名前を置換する論理名を定義するときに,メッセージが表示されるか否かを制御します。/NAME_ATTRIBUTES[=(キーワード[,...])]
論理名の属性を指定します。省略時の設定では,属性は何も設定されません。属性として,次のキーワードを指定することができます。
CONFINE SPAWN コマンドでサブプロセスを作成した時,論理がサブプロセスにコピーされないことを指定します。このキーワードは,利用者固有のテーブルに論理名を作成する場合にだけ,意味をもちます。 NO_ALIAS より低い特権の(外側の)アクセス・モードでは,このテーブルに同じ名前の論理名を作成できないことを指定します。同じ名前を持つ他の論理名が,このテーブルより低い特権のアクセス・モードで既に存在する場合には,その論理名は削除されます。
キーワードを 1 つだけしか指定しない場合には,括弧を省略することができます。指定した属性だけが設定されます。
/PROCESS (省略時の設定)
論理名をプロセス論理名テーブルに登録します。 /PROCESS 修飾子は /TABLE=LNM$PROCESS の同意語です。/SUPERVISOR_MODE (省略時の設定)
スーパバイザ・モードの論理名を,指定されたテーブルに作成します。/SYSTEM
SYSNAM(システム論理名)または SYSPRV(システム特権)特権が必要です。論理名をシステム論理名テーブルに登録します。システムのすべてのユーザが,その論理名をアクセスすることができます。 /SYSTEM 修飾子は /TABLE=LNM$SYSTEM の同意語です。
/TABLE=テーブル名
共用可能な論理名テーブルの名前を指定する場合には,そのテーブルに対して書き込み(W)アクセス権が必要です。論理名が登録される論理名テーブルの名前を指定します。 /TABLE 修飾子を使用すれば,ユーザが定義した論理名テーブル(CREATE/NAME_TABLE コマンドによって作成されるテーブル)や,プロセス論理名テーブル,ジョブ論理名テーブル,グループ論理名テーブル,システム論理名テーブルのいずれも指定することができ,あるいはプロセス論理名ディレクトリ・テーブルまたはシステム論理名ディレクトリ・テーブルを指定することもできます。
複数の等価名を持つ論理名を使ってテーブル名を指定すると,その論理名は最初に検出されたテーブルに登録されます。たとえば,ASSIGN/TABLE=LNM$FILE_DEV を指定した時, LNM$FILE_DEV は LNM$PROCESS と LNM$JOB,LNM$GROUP,LNM$SYSTEM に等しいと定義されているので,この場合には,論理名が LNM$PROCESS に登録されます。
/TABLE 修飾子を明示的に指定しなかった場合には,省略時の設定として, /TABLE=LNM$PROCESS が使用されます。
/TRANSLATION_ATTRIBUTES[=(キーワード[,...])]
等価名修飾子論理名を等価文字列に変換する際の,1 つまたは複数の属性を指定します。変換属性に対しては,次のキーワードを指定できます。
CONCEALED 等価文字列が隠し装置名であることを指定します。 隠し装置名が定義されると,装置を参照するメッセージの中で,等価文字列ではなく論理名が表示されます。 CONCEALED属性を指定した場合,等価文字列は物理装置名でなければなりません。
TERMINAL 等価文字列の反復変換を行わないことを指定します。したがって,論理名変換は現在の等価文字列で終了します。
キーワードを1つだけしか指定しない場合には,括弧を省略することができます。指定した属性だけが設定されます。
同じ論理名に対して複数の異なる等価文字列を指定する場合は,各等価文字列に対して異なる変換属性を指定できます。
/USER_MODE
ユーザ・モードの論理名を,指定したテーブルに作成します。プロセス論理名テーブルに作成されたユーザ・モード論理名は,ただ1つのイメージ実行においてだけ使用されます。すなわち,プロセスの中でのイメージの実行の終了時に (つまり,イメージまたはユーザ・プログラムを実行するDCLコマンドが終了した後で),ユーザ・モード・エントリは,論理名テーブルから削除されます。また,ユーザ・モード論理名は,コマンド・プロシージャを起動および実行している時に,自動的に削除されます。
#1 |
---|
$ ASSIGN $DISK1:[CREMERS.MEMOS] MEMOSD |
この ASSIGN コマンドは,ファイル指定の一部分 $DISK1:[CREMERS.MEMOS]を論理名 MEMOSD に割り当てます。
#2 |
---|
$ ASSIGN/USER_MODE $DISK1:[FODDY.MEMOS]WATER.TXT TM1 |
この ASSIGN コマンドは,論理名 TM1 にファイル指定を割り当てています。イメージの実行後に,この論理名は自動的に削除されます。
#3 |
---|
$ ASSIGN XXX1:[HEROLD] ED $ PRINT ED:TEST.DAT Job 274 entered on queue SYS$PRINT |
この ASSIGN コマンドは,ED という論理名を,XXX1 というディスクの[HEROLD]というディレクトリ名に割り当てます。このあと,ED という論理名を参照すると,この論理名が指定されたディスクおよびディレクトリとして使用されます。 PRINT コマンドは,XXX1:[HEROLD]TEST.DAT というファイルを印刷するジョブを,システム・プリンタのキューに登録します。
#4 |
---|
$ ASSIGN YYY2: TEMP: $ SHOW LOGICAL TEMP "TEMP" = "YYY2:" (LNM$PROCESS_TABLE) $ DEASSIGN TEMP |
この ASSIGN コマンドは,TEMP という論理名を YYY2 という装置に割り当てます。 TEMP は,スーパバイザ・モードで作成され,プロセス論理名テーブルに登録されます。 SHOW LOGICAL コマンドは,論理名の割り当てが実行されたかどうかを確認します。この ASSIGN コマンドでは,TEMP という論理名の最後にコロンが指定されていますが,コマンド・インタプリタは論理名テーブルにその論理名を登録する前に,コロンを削除します。したがって,このあとの DEASSIGN コマンドでは, TEMP だけを指定し,コロンは省略することができます。 SHOW LOGICAL コマンドでは,コロンを省略(たとえば,SHOW LOGICAL TEMP)しなければなりません。
#5 |
---|
$ MOUNT TTT1: MASTER TAPE $ ASSIGN TAPE:NAMES.DAT PAYROLL $ RUN PAYROLL . . . |
この例では,装置 TTT1: にマウントされたボリューム(ラベル名 MASTER)に論理名 TAPE を MOUNT コマンドで割り当てています。 ASSIGN コマンドで,論理装置 TAPE 上のファイル NAMES.DAT に論理名 PAYROLL を割り当てています。したがって,プログラムが論理名 PAYROOL で参照する OPEN 要求を出すと,ボリューム・ラベル名 MASTER というテープ上のファイル NAMES.DATがオープンされます。
#6 |
---|
$ CREATE/NAME_TABLE TABLE1 $ ASSIGN/TABLE=LNM$PROCESS_DIRECTORY TABLE1,- _$ LNM$PROCESS,LNM$JOB,LNM$GROUP,LNM$SYSTEM LNM$FILE_DEV $ ASSIGN/TABLE=TABLE1 - _$ /TRANSLATION_ATTRIBUTES=CONCEALED DKA1: WORK_DISK |
CREATE/NAME_TABLE コマンドは, TABLE1 というプロセス固有の論理名テーブルを作成します。
最初の ASSIGN コマンドにより,ファイル指定または装置名の論理名変換で, TABLE1 が最初に検索されます。これは,TABLE1 が,LNM$FILE_DEV という論理名に対する等価文字列の最初の項目であるためです。論理名 LNM$FILE_DEV は,装置またはファイル指定の変換時に,論理名テーブルの省略時の検索順序を決定します。
2番目の ASSIGN コマンドは,WORK_DISK という論理名を DKA1 という物理装置に割り当て,その論理名を TABLE1 に登録します。この論理名は,隠し属性を持っています。したがって,システム・メッセージには, WORK_DISKという論理名が表示されます。
#7 |
---|
$ ASSIGN/TABLE=LNM$PROCESS/TABLE=LNM$GROUP DKA0: SYSFILES $ SHOW LOGICAL SYSFILES "SYSFILES" = "DKA0:" (LNM$GROUP_000240) |
この ASSIGN コマンドには,矛盾する修飾子が含まれています。このような場合には,最後に指定された修飾子を使用します。したがって,SHOW LOGICAL コマンドからの応答は,論理名がグループ論理名テーブルに登録されたことを示しています。
#8 |
---|
$ ASSIGN/TABLE=LNM$GROUP 'F$TRNLNM("SYS$COMMAND")' TERMINAL %DCL-I-SUPERSEDE, previous value of TERMINAL has been superseded |
この例では,レキシカル関数 F$TRNLNM で論理名 SYS$COMMAND を変換し,その結果を使用して等価名 TERMINAL を定義しています。 ASSIGN コマンドのメッセージは,論理名 TERMINAL が既にグループ論理名テーブルに定義済みであったので,以前のエントリを上書きしたことを示しています。
このコマンドを LOGIN.COM ファイルで使用すれば,各ターミナル・セッション開始時に論理名 TERMINAL が再定義されます。現在のプロセスやそのサブプロセスでは,論理名 TERMINAL を使用して現在の端末にメッセージを出力できます。
#9 |
---|
$ ASSIGN DALLAS::DMA1: DATA |
論理名 DATA に遠隔ノード DALLAS 上の装置 DMA1 を割り当てています。これ以降の論理名 DATA の参照は,遠隔ノード上のディスクに対するものとなります。
#10 |
---|
$ CREATE AVERAGE.COM $ ASSIGN/USER_MODE SYS$COMMAND: SYS$INPUT $ EDIT/EDT AVERAGE.FOR $ FORTRAN AVERAGE $ LINK AVERAGE $ RUN AVERAGE 87 80 90 9999 $ EXIT [Ctrl/Z] $ @AVERAGE.COM |
CREATE コマンドでコマンド・プロシージャ AVERAGE.COM を作成しています。
コマンド・プロシージャ内の ASSIGN コマンドは,/USER_MODE 修飾子で一時的に SYS$INPUT の値を変更しています。EDT エディタが起動されると,ターミナルから入力を受け取ります。このようにして,プログラム AVRAGE.FOR を会話形式で作成または変更できます。
EDT を終了すると,ユーザ・モードの SYS$INPUT は削除され,元の定義に戻ります ( 入力ストリームはコマンド・プロシージャで与えられます )。したがって,プログラム AVERAGE への入力は,コマンド・プロシージャ内から入力されます。
前へ | 次へ | 目次 | 索引 |