Compaq OpenVMS
DCL ディクショナリ


前へ 次へ 目次 索引



PASSWORD

カード・リーダからバッチ・ジョブをキューに登録する際に, JOB カードに指定したユーザ名に対応するパスワードを与えます。 PASSWORD カードは省略できませんが,そのアカウントが空文字列のパスワードを持つ場合には,カード上のパスワードは省略できます。

PASSWORD コマンドは,カード・リーダからジョブをキューに登録する場合にのみ有効です。カード上の PASSSWORD コマンドの前には,ドル記号($) が必要です。


形式

PASSWORD [パスワード]

注意

パスワードを変更する場合は,SET PASSWORD コマンドを使用します。 SET PASSWORD コマンドについて詳細は,SET PASSWORD の説明を参照してください。


パラメータ

パスワード

JOB コマンドに指定されているユーザ名に対応するパスワードを指定します。パスワード・パラメータは,1 文字から 31 文字までの長さです。

空文字列のパスワードを持つアカウントから,ジョブをキユーに登録する場合には, PASSWORD カード上のパスワードは省略します。


説明

PASSWORD コマンドは,JOB コマンドとともに使用されます。 JOB カードはカード・リーダからバッチ・ジョブをキューに登録したユーザを識別します。その後,パスワードを与える PASSWORD コマンドを実行します。ここで指定したパスワードが,JOB カードでのユーザ名に対応するパスワードと一致するかどうか,システムがチェックします。パスワードが一致しない場合,ジョブは拒否されます。

PASSWORD カードを使用する時に他のユーザにパスワードを見られないように, PASSWORD カードに最初に穴を開ける時,プリンティングを抑止したい場合もあります。


#1



JOB および PASSWORD コマンドを実行してから,カード・リーダからバッチ・ジョブをキューに登録しています。 EOJ コマンドは,ジョブの終了を示します。


PATCH (VAX のみ)

VAX システムで,実行可能イメージ,共用可能イメージ,デバイス・ドライバ・イメージにパッチを行う Patch ユーティリティを起動します。

Patch ユーティリティについての詳細は,『OpenVMS VAX Patch Utility Manual』 ( ドキュメンテーション CD-ROM に用意されています ),またはオンライン・ヘルプを参照してください。


形式

PATCH ファイル指定


PHONE

Phone ユーティリティを起動します。 Phone ユーティリティを使用すると,同一システム上の他のユーザ,または DECnet for OpenVMS により使用しているシステムに接続している他のシステムのユーザと通信することができます。

Phone ユーティリティについての詳細は,『Compaq OpenVMS ユーザーズ・マニュアル』またはオンライン・ヘルプを参照してください。


形式

PHONE [phoneコマンド]


PIPE

同じコマンド行から,1つまたは複数のDCLコマンド文字列を実行します。 PIPE コマンドを使用すると,コマンド・パイプライン動作,入出力リダイレクト,および条件付きバックグラウンド実行など, UNIXスタイルのコマンド処理を実行できます。

形式

PIPE コマンド・シーケンス   [区切り文字   コマンド・シーケンス]...


パラメータ

コマンド・シーケンス

DCLコマンド,パイプライン,またはサブシェルを指定します。

コマンド・シーケンスでは,入出力をリダイレクトできます。山括弧(>または<)の前にあるコマンドは,実行中,SYS$INPUT,SYS$OUTPUT,またはSYS$ERRORを再定義します。 PIPE コマンドでは山括弧が入出力リダイレクト構文と解釈されるため, PIPEコマンドでディレクトリ指定を表すために山括弧(<>)を使用することはできません。

区切り文字

PIPEコマンドで指定されたコマンド・シーケンスが処理する動作を決定します。有効なPIPE区切り文字を 表 DCLII-14 に示します。

表 DCLII-14 PIPEコマンドの区切り文字
区切り
文字
動作
| 基本的なパイプの区切り文字。パイプは,あるパイプライン・セグメント・コマンドの SYS$OUTPUT を,次のパイプライン・セグメント・コマンドの SYS$INPUT に接続します。
; 順次実行。セミコロン(;)の後のコマンド・シーケンスは,先行するコマンド・シーケンスの終了後に実行されます。この区切り文字の前には,空白を入れなければなりません。空白を入れないと,レコード管理システム(RMS)ファイル指定のバージョン番号区切り文字として解析されます。
&& 条件付き実行(成功時)。2個のアンパサンド(&&)の後のコマンド・シーケンスは,先行するコマンド・シーケンスが成功した場合にだけ実行されます。
|| 条件付き実行(失敗時)。2個の縦線(||)の後のコマンド・シーケンスは,先行するコマンド・シーケンスが失敗した場合にだけ実行されます。
& バックグラウンド実行。アンパサンド(&)に先行するすべてのコマンド・シーケンスが,サブプロセス環境で非同期に実行されます。 &区切り文字は,SPAWN/NOWAITコマンドに似ています。

注意:スペースをはさまずに文字列に先行するアンパサンドは,バックグラウンド実行構文でなく,従来のDCLシンボル置換式として解析されます。

@TEE コマンド・ファイル TEE.COM。出力を 2 つのターゲットにリダイレクトするために使用されます (たとえば, 1 つの出力をパイプラインの次のコマンドにリダイレクトし,もう 1 つをファイルにリダイレクトする場合など)。 TEE.COM の使用法については,例を参照してください。

PIPEコマンド行では,&が最高優先順位を持ち,"|",";","&&",および "||" が同じ優先順位でそれに続きます。


説明

PIPEコマンドを使用すると,単一のコマンド行で複数のDCLコマンドを実行して, UNIXスタイルのコマンド処理を実行できます。 PIPEコマンドを使用すると,以下の方法でDCLコマンドを実行することができます。

Ctrl/Yを押すと,PIPEコマンドに割り込みをかけることができます。 PIPEコマンドがパイプラインまたはサブシェル・コマンド・シーケンスを実行していると,コマンド・シーケンスおよびPIPEコマンドは削除されます。この場合,割り込み直後にCONTINUEコマンドを入力しても, PIPEコマンドの実行は再開されません。

PIPEコマンドが,サブシェルまたはパイプライン・コマンド・シーケンス以外のコマンド・シーケンスを実行していた場合,DCLは,コマンド・シーケンスがPIPEコマンド動詞なしで入力され, Ctrl/Yで割り込みをかけられたように動作します。 Ctrl/Y割り込みについての詳細は,『Compaq OpenVMS ユーザーズ・マニュアル』を参照してください。

PIPEコマンドの戻り状態は,最後に実行されたコマンド・シーケンスの戻り状態です。各コマンド・シーケンスは,実行を終了すると,グローバル・シンボル$STATUSに戻り値を設定します。

PIPEコマンドをON条件処理でコマンド・プロシージャで実行すると,コマンド・シーケンスの条件付き実行(&&, ||)は,先にON条件文で指定された動作より優先します。

DCLコマンドの制限事項

PIPEコマンドは,そのコマンド・シーケンス用に特殊な実行コンテキストを作成します。一部のDCLコマンドは,このコンテキストで動作しないか,新しい動作を示します。次に,そのコマンドを示します。

サブプロセスの性能改善

PIPEコマンドは,実行中に多数のサブプロセスを作成できます。通常,コマンド・シーケンスで起動されるアプリケーションは,プロセスの論理名とシンボル名に依存しません。この場合,/NOLOGICAL_NAMESおよび/NOSYMBOLS修飾子を使用すると,サブプロセスを素早く作成できます。この修飾子により,プロセスの論理名とシンボルは, PIPEコマンドで作成されたサブプロセスに渡されなくなります。

入出力リダイレクト

DCLのユーザは,DEFINEまたはASSIGNコマンドを使用して,SYS$INPUT,SYS$OUTPUT,またはSYS$ERRORをリダイレクトできます。このようなリダイレクトは,ユーザ・モード(/USER_MODE修飾子を使用) またはスーパーバイザ・モード(/SUPERVISOR_MODE修飾子を使用) のリダイレクトとして実行できます。ユーザ・モード・リダイレクトは,次のユーザ・モード・イメージの環境だけに影響します。

PIPEコマンドでは,リダイレクトは,リダイレクト構文を使用して実行できます。 PIPEコマンドのリダイレクトは,次のように,DEFINEまたはASSIGNコマンドで生成されるリダイレクトとはまったく違います。

SYS$OUTPUTをリダイレクトすると,コマンド・シーケンスが実際にSYS$OUTPUTに書き込むかどうかにかかわらず,常にリダイレクトされた出力ファイルが作成されます。リダイレクトされた出力ファイルと同じ名前を持つファイルのバージョンがすでに存在する場合,そのファイルの新しいバージョンが作成されます。この動作は,スーパーバイザ・モードでDEFINEまたはASSIGNコマンドを使用して, SYS$OUTPUTを再定義する場合と同じです。リダイレクトされたファイルは,コマンド・シーケンスが実行される前に作成されることに注意してください。次の例のように,リダイレクトされたファイルがコマンド・シーケンスでも使用される場合は,操作が失敗することがあります。


$ PIPE SEARCH TRANS.LOG "alpha" > TRANS.LOG
%SEARCH-W-OPENIN, error opening TRANS.LOG;2 as input
-RMS-E-FLK, file currently locked by another user

この例では,新しいバージョンのTRANS.LOGが作成され,書き込みアクセス用にオープンされます。次に,SEARCHコマンドが,前のバージョンでなく,最新バージョンのTRANS.LOGの読み込みアクセスを獲得しようとします。

SYS$ERRORをリダイレクトすると,リダイレクトされたエラー・ファイルは,コマンド・シーケンスが実行中に実際にSYS$ERRORに書き込む場合にだけ作成され,リダイレクトされたエラー・ファイルと同じ名前を持つファイルは,はじめからは存在しません。リダイレクトされたエラー・ファイルと同じ名前を持つファイルがすでに存在する場合は,そのファイルがリダイレクトされたエラー・ファイルとしてオープンされます。次に,このコマンド・シーケンスで作成されたエラー出力が,リダイレクトされたエラー・ファイルの最後に追加されます。この動作は,スーパーバイザ・モードでDEFINEまたはASSIGNコマンドを使用して, SYS$ERRORを再定義する場合と同じです。

パイプラインおよび TEE

この節では,パイプラインのコンテキストで一部異なる DCL の機能について説明します。

次の構造のいくつかは,TEE を実現するために使用されます。

SYS$COMMANDの使用方法

サブプロセスのSYS$COMMANDは,通常,そのSYS$INPUT(コマンド・プロシージャが関係しない場合)と同じです。ただしパイプラインでは,サブプロセスのSYS$COMMANDは,先行するパイプ(パイプライン・セグメント・コマンドのSYS$INPUT)でなく,親プロセスのSYS$COMMANDに設定されます。

TEE および SYS$PIPEの使用方法

ほとんどの場合,パイプからの入力は, SYS$INPUTからデータを読み込むことにより取得できます。ただし,コマンド・プロシージャがパイプライン・セグメント・コマンドとして起動される場合は, SYS$INPUTはコマンド・プロシージャ・ファイルにリダイレクトされます。コマンド・プロシージャの中でパイプからデータを取得するには,論理名 SYS$PIPEを使用できます。

次に,パイプラインDCLアプリケーション例TEE.COMを示します。


$ ! TEE.COM - command procedure to display/log data flowing through 
$ !           a pipeline 
$ ! Usage: @TEE log-file 
$ 
$ OPEN/WRITE  tee_file 'P1' 
$ LOOP: 
$  READ/END_OF_FILE=EXIT  SYS$PIPE LINE 
$  WRITE SYS$OUTPUT LINE ! Send it out to the next stage of the pipeline 
$  WRITE tee_file LINE   ! Log output to the log file 
$  GOTO LOOP 
$ EXIT: 
$  CLOSE tee_file 
$  EXIT 

TEE.COMを使用するPIPEコマンドは,次のようになります。


$ PIPE  SHOW SYSTEM | @TEE showsys.log | SEARCH SYS$INPUT LEF

コマンド・プロシージャTEE.COMは,パイプラインを流れるデータを記録します。データは,SYS$INPUTでなく,SYS$PIPEから読み込まれます。

パイプラインのイメージ・チェック

パイプラインでは, PIPEコマンドを入力する前にSET VERIFY=IMAGEコマンドを実行した場合でも,省略時の設定でイメージ・チェックはオフになっています。これにより,データ・レコードが,重複してパイプラインを通過しないようになります。

パイプラインでのイメージ・チェックをオンにするには,パイプライン・セグメント・コマンドの前に明示的に SET VERIFY=IMAGEコマンドを使用しなければなりません。この場合は,次のようにサブシェルを使用できます。


$ PIPE ... | (SET VERIFY=IMAGE ; ...)  | ...

パイプラインでのファイル・アクセス方法

パイプライン・セグメント・コマンドは,パイプとの読み込みと書き込みに, RMS順編成ファイル・アクセス方法しか使用できません。一部のOpenVMSユーティリティは,順次アクセス以外の方法を使用して,入力ファイルと出力ファイルにアクセスすることがあります。これらの操作は,パイプラインではサポートされていないので失敗します。次の例を参照してください。


$ PIPE CC/NOOBJ/NOLIS TEST.C | SEARCH SYS$INPUT -
_$ /WIND=(1,1) "%cc-w-"
 
%SEARCH-F-RFAERR, RMS error using RFA access
-RMS-F-RAC, invalid record access mode

この例で,SEARCHコマンドの/WINDOW修飾子には,相対編成ファイル・アクセス方法が必要です。


前へ 次へ 目次 索引