[an error occurred while processing this directive]
Software  >  OpenVMS Systems > Documentation > 731final > 6489 > hanzi

HP OpenVMS Systems Documentation

Content starts here

OpenVMS �û��ֲ�


ǰҳ Ŀ¼ ����

14.20.2 ʹ�� PIPE ����ִ����ˮ��

��ˮ����һ�����ܵ����ӵ���ˮ�߶�����Դ�ֱ�� (|) �ָ�����ʾ����ˮ�߶������dz�������ˮ���е� DCL ����ܵ���һ����ˮ�߶������ SYS$OUTPUT ���ӵ���һ������� SYS$INPUT����ˮ�ߵĸ�ʽ������ʾ:


PIPE pipeline-segment-command | pipeline-segment-command [|...]

ÿ����ˮ�߶�������һ�������ӽ��������У����� SYS$OUTPUT ���ӵ���һ����ˮ�߶������ SYS$INPUT����Щ�ӽ��̲���ִ�У�Ȼ��������ͬ�������̶ֳȣ�����һ��֮�⣬ÿ����ˮ�߶������ȡ��һ���ı�׼�����Ϊ���ı�׼���롣�����һ����ˮ�߶��������ʱ����ˮ�߾�ִ����ɡ�

����ˮ����ʹ�� "ɸѡӦ�ó���" �Ǻ���ͨ�ġ�ɸѡӦ�ó���������һ���������� SYS$INPUT ��ȡ���ݣ����ض������ı�����Ȼ�����д�� SYS$OUTPUT��

DCL ������Щ���������ˮ�ߵ���������������ͬ������:

  • ʹ�� SYS$COMMAND
    �ӽ��̵� SYS$COMMAND ͨ�������� SYS$INPUT һ�� (����������κ��������)��Ȼ��������ˮ���У��ӽ��̵� SYS$COMMAND ������Ϊ�����̵� SYS$COMMAND������������Ĺܵ� (������ˮ�߶������ SYS$INPUT)��
  • �ļ���ȡ����
    ��ˮ�߶�����ֻ����ʹ�� RMS ˳���ļ���ȡ������ȡ��д��ܵ���ijЩ OpenVMS ���ó�����ܲ���ʹ��˳���ȡ�ķ�����ȡ���ǵ����������ļ�����Щ��������ˮ�����Dz���֧�ֶ���ʧ�ܣ�����������:


    $ 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 �޶�����Ҫ����ļ���ȡ������
  • �����滻
    ע�� DCL ������ŵĴ��򡣷����滻������������ĵ�һ�׶Ρ������һ�����Ŷ���Ϊ PIPE �����һ���֣���ô��ִ���������ʵ�ʶ��������֮ǰ��DCL ���Է���������š�ʹ�úͺ� (&) ���Ƴٷ����滻���й����飬����� 12.12.2 ����
  • ʹ�� 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$PIPE �������ݣ������� SYS$INPUT��
  • ӳ��У��
    ����Ĭ�ϣ�����ˮ����ӳ��У�鱻ͣ������ʹ������ PIPE ����֮ǰִ�������� SET VERIFY=IMAGE������ֹ���ݼ�¼�ĸ���ͨ����ˮ�ߡ�
    Ҫ����ˮ��������ӳ��У�飬��������ˮ�߶�����֮ǰִ����ʽ�� SET VERIFY=IMAGE �������ʹ��һ�������������һ�㣬������ʾ:


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

14.20.3 ʹ�� PIPE ����ִ�������

�������һ�������÷ָ����ָ����������У���������Բ�����С�����ǵĸ�ʽ������ʾ:


PIPE ( command-sequence [separator command-sequence]... )  

����ǵ������������ӽ��̻�����ִ�С���ִ����һ����������֮ǰ��DCL �ȴ��������ɡ�( ) �ָ��������� SPAWN/WAIT ���

�������ʽʹ�� PIPE ����ʱ��ҪС�ĵش��������滻���ڶ�����ź����Ժ������������֮ǰʹ�úͺ� (&) �ӳٷ����滻����������滻��������������ĵ�һ�׶��ڼ䣬�������ʱ����Ŷ����Dz��ɿ��ġ�

14.20.4 ʹ�� PIPE ����ִ�к�̨����

ʹ�����¸�ʽ���������п������ӽ��̻�����ִ��:


PIPE command-sequence [ separator command-sequence]... &

DCL ���ȴ�����������ɡ�һ��������̨�ӽ��̣��Ͱѿ��ƴ��ݻ� DCL��

14.20.5 ʹ�� PIPE �����ض�������/���

������ִ���ڼ䣬�������п��԰����� SYS$INPUT��SYS$OUTPUT �� SYS$ERROR �ض���һ���ļ���������ʾ:

  • Ҫ�ض��� SYS$INPUT:

    PIPE command-sequence < redirected-input-file

  • Ҫ�ض��� SYS$OUTPUT:

    PIPE command-sequence > redirected-output-file

  • Ҫ�ض��� SYS$ERROR:

    PIPE command-sequence 2> redirected-error-file

��ˮ�߶�����Ҳ�����ض������� SYS$INPUT��SYS$OUTPUT �� SYS$ERROR��Ȼ����ֻ�������һ����ˮ�߶������ض��� SYS$OUTPUT������ֻ������һ����ˮ�߶������ض��� SYS$INPUT��

ע�⣬PIPE �����ض�����ͬ��ʹ�� DEFINE �� ASSIGN ��������ض�����������:

  • �ض������ڼල����ģʽ�½���������ζ���û�ģʽӦ�ó���� DCL �����������ܵ�����ض����Ӱ�졣
  • �ض��򻷾�ֻӦ����ָ���ض����﷨���������л���ˮ�߶����������������л���ˮ�߶�����ִ�к���ԭʼ��������/������� (���磬SYS$INPUT��SYS$OUTPUT �� SYS$ERROR) ���������ִ��֮ǰ�ָ���

�� 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 ���ض���ʱ���ض���ij����ļ�ֻ������������ִ���ڼ�ʵ��д�� SYS$ERROR ʱ�Ž���������û�������ļ����ض���ij����ļ�ͬ����������ض�������ļ�ͬ�����ļ��Ѿ����ڣ���ô����ļ��ͱ���Ϊ�ض���ij����ļ���Ȼ������������в����ij�����������ӵ��ض�������ļ���ĩ�ˡ�(�����Ϊ���ڼල����ģʽ��ʹ�� DEFINE �� ASSIGN �������¶��� SYS$OUTPUT һ����)

14.20.6 �ж� PIPE ����

���� Ctrl/Y�������ж� PIPE ������ PIPE ����������ˮ�߻����������������ִ�У�����������к� PIPE ����ͻᱻɾ��������������£��������жϺ����� CONTINUE �������ָ� PIPE �����ִ�С�

��� PIPE ��������ִ��һ���������У�����������ǻ���ˮ���������У���ô DCL ��ʱ������������еĴ�������һ������ PIPE ����ʵ� DCL ������ұ� Ctrl/Y �жϡ��й� Ctrl/Y �жϵ����飬����� 13.11 ����

14.20.7 �Ľ��ӽ��̵IJ�������

��ִ���ڼ䣬PIPE ������Բ��������ӽ��̡�ͨ�������������е��õ�Ӧ�ó��������ڽ����߼����ͷ�����������������£�ʹ�� /NOLOGICAL_NAMES �� /NOSYMBOLS �޶��ʿ��Լ����ӽ��̵��������������ưѽ����߼����ͷ��Ŵ��ݸ� PIPE ��������ӽ��̡�

��������ʹ�� PIPE ����:

  • ����չʾ����ʹ�ö������ļ򵥷����������������ͨ�����Ŷ��彨�����ù���:


    $ 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:
    $    :
    
  • ����չʾ��������Ӳ�����ע�⣬�������û���κγ�����Ŀ���ļ������Ӳ���һ����ִ��ӳ�������������������ô�������Ӳ���


    $ PIPE cc foo.c && link foo, sys$library:vaxcrtl.olb/lib
    
  • ����չʾ���ʹ��ִ������������������������ü򵥳���������������ע�⣬���ӳ�� COLLECT_DATA ʧ�ܣ�����ָ���� CLEAN_UP��


    $ PIPE RUN COLLECT_DATA.EXE || GOTO CLEAN_UP
    $   :
    $  :
    $ EXIT
    $
    $ CLEAN_UP:
    $ :
    $  :
    
  • ����������У�PIPE �������̨���̴������ƴ��ļ���


    $ PIPE COPY LARGE_FILE.DAT REMOTE"user password"::[DESTINATION]*.*  &
    
  • ����չʾ����������ӽ�������ɵ�������������С�������Խ����ض����� (���磬Ĭ��Ŀ¼) �ĸ������������ɺ󽫲�Ӱ�쵱ǰ���̡�ע�⣬���漯�ָ���һ����Ŀ¼�У�Ϊ���г��� FOO �ṩ��Ҫ�����ݡ�


    $ PIPE (SET DEF [.DATA_DIR] ; BACKUP  DATA.SAV/SAV [...]) ; RUN FOO
    
  • ������һ��������ʹ����ˮ�߹��ܱ�ʶϵͳ�ϵ�����˯�߽���:


    $ PIPE SHOW SYSTEM | SEARCH SYS$INPUT HIB
    
  • �����ڵ���������ʹ����ˮ�߹�������һ�����ԡ������������Ұѽ�����׼�ļ����бȽϣ������ز����м��ļ�:


    $ PIPE RUN TEST | SORT/SPECIFICATION=TEST.SRT SYS$INPUT SYS$OUTPUT -
       | DIFF SYS$INPUT  TEST.BENCHMARK
    
  • ����չʾһ������ˮ���а������ָ��Ϊ�ܵ�������ķ���:


    $ PIPE  ( SET DEF WRK$:[WORK] ; RUN REPORT ) | MAIL SYS$INPUT SMITH
    
  • ����չʾ����ˮ����ʹ�� /PAGE �޶��ʡ�/PAGE ����Ҳ�������������� DCL �����У�����ͬ�������� PIPE ����һ��ʹ�ã����γ��������õĹ��� ��


    $ more :== TYPE/PAGE=SAVE SYS$INPUT
    $ PIPE    ANA/RMS PAGE.TXT | more
    
    Check RMS File Integrity                  26-JAN-2002 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-2002 16:08:50.05
        Revision Date:   26-NOV-2002 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
    
    


�� 15 ��
ʹ�ôʷ�������ò�������Ϣ

�ʷ�����������Ϣ�������л�������̡����ص���Ϣ�����漰���̡�ϵͳ���ļ����豸���߼������ַ������������͡��ʷ�������ǰ׺ F$ ��ʶ��

ͨ��������Ӧ�÷��Ż����ʽ����������ʹ�ôʷ�����������������У�������ʹ�ôʷ����������߼�����ִ���ַ��������Լ�ȷ�����̵ĵ�ǰ����ģʽ������ʷ��������ص���ϢҲ���Դ� DCL ���� ��á�

���°�������Ϣ�漰:

  • �ʷ��������������
  • ����йؽ��̵���Ϣ
  • ����й�ϵͳ����Ϣ
  • ����й��ļ����豸����Ϣ
  • �����߼���
  • �����ַ���
  • ������������

�йشʷ����������飬����������������йر����������������飬����� OpenVMS DCL Dictionary��

15.1 ΪʲôҪʹ�ôʷ�����

����ǴӴʷ����������Ǵ���������Ϣ����ô����������и����״��������磬������ʹ�� F$ENVIRONMENT ������ SHOW DEFAULT �����õ�ǰĬ��Ŀ¼�����ơ���������:

  • ���ʹ�� F$ENVIRONMENT ���������԰ѽ����ֵ��һ�����ţ��Ժ�����������п���ʹ��������š�����:


    $ DIR_NAME = F$ENVIRONMENT("DEFAULT")
    $ SET DEFAULT DISK4:[TEST]
       .
       .
       .
    $ SET DEFAULT 'DIR_NAME'
    

    F$ENVIRONMENT �������ص�ǰĬ�ϴ��̺�Ŀ¼�����Ұ����ֵ�洢������ DIR_NAME���ڹ��̵�ĩ�ˣ�SET DEFAULT ����ʹ�÷��� DIR_NAME �ָ���Ĭ��ֵ��
  • ���ʹ�� SHOW DEFAULT ������� F$ENVIRONMENT �ʷ�������õ�ǰĬ��Ŀ¼��ֵ���Ͳ��ܰ�������ֱ�Ӹ�ֵ��һ�����š���Ϊ���棬�ù�������:


    $! Redirect the output of the SHOW DEFAULT command to a file.
    $ DEFINE/SUPERVISOR_MODE SYS$OUTPUT DISK4:[TEST]TEMPFILE.DAT
    $ SHOW DEFAULT
    $ DEASSIGN SYS$OUTPUT
    $!
    $ OPEN/READ DIR_FILE DISK4:[TEST]TEMPFILE.DAT ! Open the file.
    $ READ DIR_FILE DIR_NAME,                     ! Read the file.
    $ SET DEFAULT 'DIR_NAME'                      ! Reset the directory.
    $ CLOSE DIR_FILE                              ! Close the file.
    $ DELETE DISK4:[TEST]TEMPFILE.DAT;*           ! Delete the file.
    

15.2 ����йؽ��̵���Ϣ

����������о�����Ҫ���Ľ���������Ȼ��ʹ֮�ָ���������ʹ�����´ʷ�������ý�����Ϣ:

F$DIRECTORY ���ص�ǰĬ��Ŀ¼�ַ�����
F$ENVIRONMENT ���ؽ��̵����������Ϣ��
F$GETJPI �����й����Ľ��̻�ϵͳ�ϵ��������̵ļ��ʡ�״̬�ͱ�ʶ��Ϣ��
F$MODE չʾ����ִ�е�ģʽ��
F$PRIVILEGE ָ�������Ƿ���ָ����Ȩ��
F$PROCESS ���ؽ��̵����ơ�
F$SETPRV ����ָ����Ȩ���������Ҳָ��ָ����Ȩ�Ƿ���ʹ����� F$SETPRV ����֮ǰ������
F$USER �����û���ʶ�� (UIC)��
F$VERIFY ָ���Ƿ�У�顣

�±�չʾ��������������и��ĵĽ�������������Ҳ����������Щ�����Ĵʷ������ͻָ���ԭʼ���õ� DCL ���

���� ���� �����ʷ�����
�����ַ� ���� F$ENVIRONMENT("CONTROL")
  �ָ� SET CONTROL
     
DCL ��ʾ ���� F$ENVIRONMENT("PROMPT")
  �ָ� SET PROMPT
     
Ĭ�ϱ��� ���� F$ENVIRONMENT("PROTECTION")
  �ָ� SET PROTECTION/DEFAULT
     
��״̬ ���� F$ENVIRONMENT("KEY_STATE")
  �ָ� SET KEY
     
��Ϣ��ʽ ���� F$ENVIRONMENT("MESSAGE")
  �ָ� SET MESSAGE
     
��Ȩ ���� F$PRIVILEGE �� F$SETPRV
  �ָ� F$SETPRV �� SET PROCESS/PRIVILEGES
     
�� ���� F$VERIFY �� F$ENVIRONMENT
  �ָ� F$VERIFY �� SET VERIFY

���Ҫ�����������������ȷ��һ�������� Ctrl/Y �жϲ�����������ڻָ���ԭʼ����֮ǰ�˳���(�йس��������� Ctrl/Y �жϵ����飬������� 13 ����)

15.2.1 ����������

������ʹ�� F$VERIFY �ʷ�������������������ڼ��У�顣����ֹ�û���ִ�й����ڼ���ʾ���̵����ݡ�

��������:

  • ����У��
    ִ��ʱ��ʾÿ��������
  • ӳ��У��
    ����ʱ��ʾÿ��������

����Ĭ�ϣ�SET [NO]VERIFY ����� F$VERIFY �������û�ͣ���������У�顣һ����ԣ��ڹ����й��̺�ӳ��У��������һ���� (���������ã���������ͣ��)��Ȼ���������������������ã���ô�ֱ𱣴�ÿ��У�����á�

�����������У����� TEMP ���������ͳ���У��:


$ ! Enable verification
$ !
$ TEMP = F$VERIFY(1)
$ LOOP:
$     INQUIRE FILE "File name"
$     IF FILE .EQS."" THEN EXIT
$     PRINT 'FILE'
$     GOTO LOOP
$ ! Disable verification
$ !
$ TEMP = F$VERIFY(0)
$ EXIT

����������������������:


$ ! Save each verification state
$ ! Turn both states off
$ SAVE_VERIFY_IMAGE = F$ENVIRONMENT("VERIFY_IMAGE")
$ SAVE_VERIFY_PROCEDURE = F$VERIFY(0)
   .
   .
   .
$ ! Restore original verification states
$ SAVE_VERIFY_IMAGE = F$VERIFY(SAVE_VERIFY_PROCEDURE,-
      SAVE_VERIFY_IMAGE)

F$ENVIRONMENT �������ص�ǰӳ��У�����ã��������ֵ������� SAVE_VERIFY_IMAGE��Ȼ��F$VERIFY �������ص�ǰ����У�����ã��������ֵ������� SAVE_VERIFY_PROCEDURE��F$VERIFY ��������������ӳ��͹���У�顣���� F$VERIFY ����У��֮ǰ������ʹ�� F$ENVIRONMENT ������ù���У�����á�Ȼ������һ����������ʹ�� F$VERIFY �������������Ĵ���϶̣�����һ��������ʾ��

��������̵�ĩ�ˣ�F$VERIFY �����ָ���ԭʼ���� (�ɷ��� SAVE_VERIFY_PROCEDURE �� SAVE_VERIFY_IMAGE ָ����)

ע��

���ʹ��ʱ�����Ҫ��סֻ������У��ʱ��Ӧ�������й�ʱ����� SET PREFIX ��������飬����� OpenVMS DCL Dictionary �� DCL ������


ǰҳ ��ҳ Ŀ¼ ����