| 日本-日本語 |
|
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 目次 | 索引 |
この例は,1 つのコマンドでパイプライン機能を使用して,不要な中間ファイルを生成せずにテストを実行し,結果をソートし,結果をベンチマーク・ファイルと比較します。
| #3 |
|---|
$ PIPE (SET DEF WRK$:[WORK] ; RUN REPORT ) | MAIL SYS$INPUT SMITH |
この例は,パイプラインで,サブシェルをパイプ・セグメント・コマンドとして指定する 1 つの方法を示しています。
| #4 |
|---|
$ more :== TYPE/PAGE=SAVE SYS$INPUT
$ PIPE ANA/RMS PAGE.TXT | more
Check RMS File Integrity 26-DEC-2001 16:12:00.06 Page 1
SYS$SYSDEVICE:[TEST]PAGE.TXT;2
FILE HEADER
File Spec: SYS$SYSDEVICE:[TEST]PAGE.TXT;2
File ID: (4135,58220,0)
Owner UIC: [PIPE]
Protection: System: RWED, Owner: RWED, Group: RE, World:
Creation Date: 26-NOV-2001 16:08:50.05
Revision Date: 26-NOV-2001 16:09:09.06, Number: 1
Expiration Date: none specified
Backup Date: none posted
Contiguity Options: none
Performance Options: none
Reliability Options: none
Journaling Enabled: none
RMS FILE ATTRIBUTES
RETURN/SPACE=More,PREV/NEXT=Scroll,INS/REM=Pan,SELECT=80/132,Q=Quit
|
この例は,パイプラインの中で/PAGE修飾子を使用する方法を示しています。 /PAGE 機能は,他の多数のDCLコマンドにも存在し,同じように PIPE コマンドと組み合せて使用して他の有用なツールを作ることができます。
| #5 |
|---|
$ ! 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 next stage of the pipeline $ WRITE tee_file LINE ! Log output to the log file $ GOTO LOOP $ EXIT: $ CLOSE tee_file $ EXIT |
これは,パイプライン DCL アプリケーション TEE.COM の例です。
TEE.COM を使用する PIPE コマンドは次のように指定することができます。
$ PIPE SHOW SYSTEM | @TEE showsys.log | SEARCH SYS$INPUT LEF
コマンド・プロシージャ TEE.COM は,パイプラインを通じて送信されるデータのログを記録するために使用されています。これは,SYS$INPUT ではなく SYS$PIPE からのデータを読み込ます。
| #6 |
|---|
$ CD_WORK :== PIPE SAVE_DIR=F$DIRECTORY() ; SET DEFAULT FOO:[WORK]
$ BACK :== SET DEF 'SAVE_DIR'
$
$ CD_WORK ! Switch to working directory
$ :
$ :
$ BACK ! Switch back to home directory
$ GET_RECORD :== PIPE READ/END_OF_FILE=CLEANUP IN RECORD ; -
F$EDIT(RECORD, "COMPRESS, TRIM")
$
$ OPEN IN EMPLOYEE.DAT
$ LOOP:
$ GET_RECORD
$ :
$ :
$ GOTO LOOP
$
$ CLEAN_UP:
$ :
|
この例は,シンボル定義を持つ複数のコマンドを使用して,コマンド・プロシージャに有用なツールを作成する 2 つの簡単な方法を示しています。
| #7 |
|---|
$ PIPE cc foo.c && link foo, sys$library:vaxcrtl.olb/lib |
コンパイルでエラーが発生しない場合,オブジェクト・ファイルは実行可能イメージを生成するためにリンクされます。コンパイル・エラーが発生すると,リンク・ステップはスキップされます。
| #8 |
|---|
$ $ PIPE RUN COLLECT_DATA.EXE || GOTO CLEAN_UP $ : $ : $ EXIT $ $ CLEAN_UP: $ : $ : |
条件付きコマンド実行を使用すると,コマンド・プロシージャの中に単純なエラー処理制御フローを簡単に設定できます。 COLLECT_DATA イメージが失敗すると,制御が CLEAN_UP に移ります。
| #9 |
|---|
$ PIPE COPY LARGE_FILE.DAT REMOTE"user password"::[DESTINATION]*.* & |
この PIPE コマンドは,大型ファイルのコピーを処理するバックグラウンド・プロセスを作成します。
| #10 |
|---|
$ PIPE (SET DEF [.DATA_DIR] ; BACKUP DATA.SAV/SAV [...]) ; RUN FOO |
サブシェル・コマンド・シーケンスは,サブプロセスで実行されます。つまり,プロセス固有特性 (たとえば,省略時のディレクトリ) を変更しても,サブシェルの終了後,現在のプロセスに影響しません。この例では,プログラムFOOを実行するのに必要なデータを提供するため,セーブ・セットがザブディレクトリに復元されます。
| #11 |
|---|
$ RSH 0 PIPE SH DEC/FI | SH LOG/PR LNM$PROCESS_TABLE "SYS$COMMAND" = "_NODE$MPA24:" "SYS$DISK" = "SYS$SYSDEVICE:" "SYS$ERROR" = "_BG9930:" "SYS$INPUT" [super] = "_BG9930:" "SYS$INPUT" [exec] = "_NODE$MPA24:" "SYS$OUTPUT" [super] = "_BG9930:" "SYS$OUTPUT" [exec] = "_BG9930:" "SYS$PIPE" = "_NODE$MPA24:" "TT" = "_MPA24:" |
この例は,SYS$PIPE と SYS$OUTPUT の相違点を示しています。
| 目次 | 索引 |
|
||||||||