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

HP OpenVMS Systems Documentation

Content starts here

OpenVMS �û��ֲ�


ǰҳ Ŀ¼ ����

12.12 ��������滻

��ijЩ�������У�DCL �����ַ���ʼ����ĸ���ַ�������һ����������ʷ�����������Щ�������У�DCL �������滻���Ż�ʷ�������ֵ���滻���ķ��Ż�ʷ��������÷��ŵĵ�ǰֵ�滻�÷��ţ���Ϊ�����滻��������κ�������������ʹ�÷��Ż�ʷ���������ô����ʹ��һ���滻���������������滻��

�����źʹʷ����������������ʱ�� DCL �Զ���������ֵ:

  • �ڸ�ֵ (=) �����ұ�
  • �ڴʷ������ı�Ԫ��
  • �� DEPOSIT��EXAMINE��IF �� WRITE ������
  • �������еĿ�ʼ��������ַ�������û��һ���ȺŻ�ð��
  • ��ִ���Ӵ��滻�����ָ���ʱ���ڸ�ֵ�����ߵ��������� (����� 12.6.5 ��)

�����������У�������ͳ���ѿ�ʼ����ĸ�ַ����κ��ַ�������һ�������������ѿ�ʼ�����ֻ����������� (%) ���κ��ַ�������һ��������ֵ��

  • �����������У�COUNT ���Զ�ʶ����ֵΪһ������:


    $ TOTAL = COUNT + 1
    
  • ��������ӵĵڶ����У������� QUERY �� F$LENGTH ����һ��ʹ��ʱ�����Զ���ֵ�����⣬��Ϊ F$LENGTH �������ڸ�ֵ�����ұߣ�����Զ�������ֵ:


    $ QUERY = "Have we met before?"
    $ LEN = F$LENGTH(QUERY) + 5
    $ SHOW SYMBOL LEN
      LEN = 27   Hex = 0000001B  Octal = 000033
    
  • �����������У�IF ����� A �� B ��������������ʹ�����ǵĵ�ǰֵ:


    $ IF A .EQ. B THEN WRITE SYS$OUTPUT "DONE"
    
  • ��������ӵĵڶ����У�������ͳ����Զ��� PDEL �ĵ�ǰֵ�滻 PDEL����ִ����Ϊ���������:


    $ PDEL = "DELETE SYS$PRINT/ENTRY="
    $ PDEL 181
    
  • �����������У�DCL �Զ��ѷ��� BELL ����Ϊֵ 7��Ȼ������ڸ�ֵ�����������������ڵ�ֵ����һ����ֵ��


    $ BELL = 7
    $ BELL[5,1] = 1
    $ SHOW SYMBOL BELL
     BELL = 39   Hex = 00000027   Octal = 00000000047
    

12.12.1 ǿ�Ʒ����滻

Ҫǿ���滻��������λ�õķ��ţ��������������ʡ�Ժ� (') �ڣ�������ʾ:


$ TYPE 'B'

Ҫǿ���滻�������ַ����ڵķ��ţ����������֮ǰ��������ʡ�Ժ� (') ���������ʡ�Ժ� (')��������ʾ:


$ T = "TYPE ''B'"

����һ��������ʱ��DCL �����´��������ǵ�ֵ�滻����:

  • ǿ���滻
    �������ң�DCL �滻��ʡ�ԺŶ���������ַ��� (���߶����������ڵ��ַ���ʹ��˫ʡ�Ժ�)��ǰ����ϵ���ʡ�Ժŵķ��ű��������룻������ǰ�����˫ʡ�Ժŵķ����򲻱ء�
  • �Զ��滻
    �������ң�DCL ����������е�ÿ��ֵ��������������ִ��������������DZ���ʽ���������ֵ������ʽ�еķ��ű��滻Ϊ���ǵĸ���ֵ������滻���ǵ����ġ�

��������ʾ�� DCL �����滻�����Ч�������ȣ�������� PN��FILE1 �� NUM:


$ PN = "PRINT/NOTIFY"
$ FILE1 = "[BOLIVAR]TEST_CASE.TXT"
$ NUM = 1

�����������Ŷ�������������ӡ�ļ� [BOLIVAR]TEST_CASE.TXT:


$ FILE = "'FILE''NUM''"
$ PN 'FILE'

�ڵ�һ�������У�ǿ���滻ʹ NUM ��Ϊ 1��ʹ FILE''NUM' ��Ϊ FILE1������������� SHOW SYMBOL FILE���ɿ��� FILE = " 'FILE1' "��

�ڶ�������ִ�������滻�����ȣ�'FILE' �� 'FILE1' �滻��'FILE1' Ҳ��Ҫ�滻����Ϊ������ʡ�Ժ� (') �ڡ��Զ��滻ʹ FILE1 ��Ϊ [BOLIVAR]TEST_CASE.TXT��Ȼ������ļ������ӵ� PN ��ֵ���� PRINT/NOTIFY����Ϊ������ַ���������ʾ:


$ PRINT/NOTIFY [BOLIVAR]TEST_CASE.TXT

12.12.2 �����滻�����

�� DCL ͨ����ִ�з����滻��λ�ã�����ʹ���滻�������������滻��DCL ���������滻�����:

  • ʡ�Ժ� (')
  • �ͺ� (&)

������������IJ���Ƿ����滻��ʱ�䡣ǰ�����ʡ�Ժŵķ����� DCL ������ĵ�һ���׶��滻����ǰ����Ϻͺŵķ����ڵڶ����׶��滻���й�������׶ε����飬����� 12.13 ����

ʡ�Ժ� (')

ʡ�Ժ� (') ����Ƶ��ʹ�õ��滻�����������ʹ�÷��Ŵ�������������޶���ʱ��ʹ��������������滻�����ַ�����ֵ (:=) �����ұ�ʹ��ʡ�Ժſ���������滻��

Ҫ�������ַ�������������滻��������ʡ�Ժŷ��ڷ�����֮ǰ����һ��ʡ�Ժŷ������ĺ��档

��ʹ��ʡ�Ժ���������滻ʱ�������ڱ��滻ֵ���м����� (ʹ�����ֺ�ʹ�ַ�����)��

�����������У�TYPE ������Ҫһ���ļ�˵����ʡ�Ժ�ָ�� LIT ��һ��������ֵ�ķ��š����ʡ�����ʡ�Ժţ���ô DCL Ѱ��һ����Ϊ LIT.LIS ���ļ� (.LIS �� TYPE �����Ĭ���ļ�����):


$ LIT = "LIGHT.BILLS"
$ TYPE 'LIT'

�����������У�NAME ��ֵ���滻���Ա� FILE ��Ϊ REPORT.DAT:


$ NAME := REPORT
$ FILE := 'NAME'.DAT
$ SHOW SYMBOL FILE
  FILE = "REPORT.DAT"

�����������У����� NAME �ĵ�ǰֵ�� FRED:


$ MESSAGE = "Creating file ''NAME'.DAT"

��ˣ�MESSAGE ������ֵ:


Creating file FRED.DAT

�ͺ� (&)

�ͺ� (&) Ҳ��һ��������ͳ����ܹ�ʶ����滻��������ںܶ�����£�ʡ�Ժ���ͺ�ִ��ͬ���Ĺ��ܡ����ͺ���ʡ�Ժ�һ��ʹ����Ӱ���滻ִ�еĴ���ʱ���ͺ��Ǹ���Ч���滻�������

������δ����ʱ������ͳ����ȡ�Ķ�������������������ġ��й����飬����� 12.13.5 ����

����չʾ�ĵ�һ�������У�������ĵ�һ���׶� (ɨ��)��������ͳ������䵱ǰֵ�滻��������������ĵڶ����׶� (����)���ڶ����������䵱ǰֵ�滻�����������ܷ�����ͬ�������һ��:


$ TYPE 'NAME'
$ TYPE &NAME

�����������У��ͺ� (&) ��ʡ�Ժ�һ��ʹ����Ӱ���滻����:


$ P1 = "FRED.DAT"
$ COUNT = 1
$ TYPE &P'COUNT'

���ȣ�������ͳ��������ʡ�Ժ��ڵķ��� ('COUNT') ��ֵ������������ʾ:


TYPE &P1

��Σ�������ͳ����ǰ����Ϻͺŵķ��� (P1) ��ֵ������������ʾ:


TYPE FRED.DAT

�����������У�ʡ�Ժ��� P �� COUNT һ��ʹ��:


$ TYPE 'P''COUNT'

�������ҽ��д�����������ͳ�������� P ��ֵ����Ϊ P ��û�ж���ķ��ţ���� DCL ����һ����ֵ��Ȼ����������� COUNT ��ֵ������������ʾ:


TYPE 1

�����������У�A ���� B �ĵ�ǰֵ:


$ B = "MYFILE.DAT"
$ A = "&B"
$ TYPE 'A'

���ͺ� (&) �������� (" ") ��ʱ��������������滻����ˣ���ֵʱ�����滻 B ��ֵ��Ȼ����TYPE ������ʾ MYFILE.DAT����Ϊ������ͳ������Ȱ� A �滻Ϊֵ &B����˷������������Ȼ�����ѷ��� &B �滻Ϊ MYFILE.DAT��������¶����� B����ô TYPE ����Ľ������˸��ġ�

ʹ�úͺ�ʱҪ�������¹���:

  • �Ѻͺŷ��ڷ�����֮ǰ��������֮��
  • �ͺű������һ������� (�κοհ׻������ַ�)��
  • ����ʹ�úͺ��������滻�������� (" ") �ڵ��ַ�����
  • ����ʹ�úͺ����������������ķ�������
  • һ����ԣ��ڷ����滻ʱ��Ҫʹ�úͺţ����DZ�����ȷ�ط�����š�

12.13 ���������������׶�

������ͳ���������׶�ִ�з����滻��

12.13.1 ��һ�׶�: ��������ɨ��

��������ɨ�� (Ҳ��Ϊ�ʷ�����׶�)��������ͳ���������Ҷ�ǰ�����ʡ�Ժŵķ�����ֵ��ǰ����ϵ���ʡ�Ժŷ��ű��������룬������һ�׶��滻������ǰ���������ʡ�Ժŵķ��Ų����������롣

12.13.2 �ڶ��׶�: �������

����������׶���:

  • ������ͳ�����������С�������������еĵ�һ����Ŀ���鿴���Ƿ���һ�����š�������ǣ����������ֵ��
  • ������ͳ���������Ҷ�ǰ����Ϻͺŵķ�����ֵ��

������׶εķ����滻�Dz������ġ�

12.13.3 �����׶�: ����ʽ��ֵ

�ڱ���ʽ��ֵ�׶�:

  • ������ͳ����ǰ����� DEPOSIT��EXAMINE��IF �� WRITE ����ķ�����ֵ��
  • ������ͳ�����ڴʷ������еķ�����ֵ��

������׶εķ����滻�Dz������ġ�

ע�⣬������ͳ���ɨ�豻����������������ִ�еij����ȡΪ�������ݵ��κ��С���ˣ�������ͳ�������Щ��������ִ�з����滻��

�����������У����� AVERAGE �� SYS$INPUT (����������) ��ȡ 55��57 �� 9999��������ͳ���Ӳ���ȡ��Щ�����С���������������Ϊ���룬������Dz���ֵ:


$ RUN AVERAGE
55
57
9999

12.13.4 �ظ��͵����滻

�����滻�����ظ������:

  • �ظ��滻��ָ�ڵ����������з���һ���������͵��滻��
  • �����滻��ָ������ͳ���鿴�滻��ֵ�����Ƿ���һ�����š�ֻ��������ĵ�һ���׶η���ǰ�����ʡ�Ժŵķ���ʱ���ŷ��������滻��

��һ�׶��滻

ʹ��ʡ�Ժ� (') ��������滻ʱ��������ͳ�����������ĵ�һ���׶�ִ�е����滻��

�����Ű����������ַ�����ʱ��ʹ��ʡ�Ժŵ��滻��������

�����������У��滻�ǵ�����:


$ MAC = "5"
$ A = "'MAC'"
$ B = 'A'
$ SHOW SYMBOL B
  B = 5  Hex = 00000005  Octal = 00000000005

����� B = 'A' ֮�󣬷��� B �Ľ��ֵ�� 5����Ϊ:

  • ������ A ����ʡ�Ժ��ڣ���������ĵ�ǰֵ ('MAC') �滻����
  • ��Ϊ���ֵ ('MAC') Ҳ����ʡ�Ժ��ڣ����������ͳ��������ĵ�ǰֵ (5) �滻 MAC��
  • ��Ϊ���ֵ (5) û��ʡ�Ժţ����������ĵ�һ���׶ξͽ�����û�б�Ҫ�ڵڶ�������׶ν��н�һ�����滻����ˣ�5 �Ƿ����� B �����ֵ��

Ȼ����Ҫע���������ַ����а��� A ������:


$ B = "''A'"
$ SHOW SYMBOL B
  B = "'MAC'"

����������£�B ��ֵ 'MAC'����Ϊ�������ַ������滻�Dz������ģ���˷����� A ֻ�滻һ�Ρ�

�ڶ��׶��滻

ֻ��ʡ�Ժ�����������ʱ��������ͳ�����Զ�ִ�е����滻����Щ����£�������ҪǶ������ͬ���ֶ��塣

�����������У����� EXEC ʱ��������ͳ���ִֻ���滻һ��:


$ MAC = "TYPE A.B"
$ EXEC = "'MAC'"
$ EXEC

�������ַ��� 'MAC'����Ϊ MAC ����ʶ��Ϊһ��������������ͳ�����ʾһ��������Ϣ����Ϊ��������ĵ�һ���׶Σ�û���滻��ִ�� (�ַ��� EXEC û�б�ʡ�ԺŶ���)����˷�������������ڵڶ����׶Σ���Ϊ EXEC �������еĵ�һ��ֵ������ַ��� 'MAC' ���滻Ϊ EXEC������滻���ǵ����ġ���ˣ���ʹ��ʡ�ԺŶ��� 'MAC'��Ҳ��ִ�и��ӵ��滻��

Ҫ��ȷ��ʹ������ͬ���� EXEC����������ʡ�Ժ���:


$ 'EXEC'

����������£���������ĵ�һ���׶ζԷ��� EXEC ��ֵ����Ϊ����滻�ǵ����ģ���� ('MAC') Ҳ����ֵ�������滻Ϊ�ַ��� TYPE A.B��

�����׶��滻

��������ͳ�����������еı���ʽʱ���ڱ���ʽ��ָ�����κη���ֻ�滻һ�Ρ�Ȼ���������ڱ���ʽ��ʹ��ʡ�ԺŻ�ͺţ�ǿ�Ƶ����滻�������ַ���ǿ�Ƶ����滻ʱ�������ס���¹���:

  • ��ִ�������ַ���֮ǰ��������ͳ���ִ��ʡ�Ժźͺͺ�����������滻��
  • ��������ĵ�һ���͵ڶ����׶�֮���Զ�ִ�з����滻������������¡�

Ȼ����Ҫע�⣬����滻�Ľ������һ����Ч����������ô������ʧ�ܡ�

��������չʾ IF �����еĵ����滻:


$ P1 = "FRED.DAT"
$ COUNT = 1
$ IF P'COUNT' .EQS. "" THEN GOTO END

��������ͳ���ɨ�����������ʱ�������ĵ�ǰֵ�滻���� COUNT������������ʾ:


IF P1 .EQS. "" THEN GOTO END

��Ϊ����ַ���û��ʡ�Ժţ����������ͳ���ִ���κ������滻��Ȼ������ IF ����ִ��ʱ�����Զ��Է����� P1 ��ֵ�������滻Ϊ���ĵ�ǰֵ��

�����������У������� FILENAME ��Ч:


$ FILENAME = "A.B"
$ IF 'FILENAME' .NES. "" THEN TYPE 'FILENAME'

������ͳ���ѷ��� FILENAME �滻Ϊ���ĵ�ǰֵ (A.B)������������ʾ:


IF A.B .NES.  "" THEN TYPE A.B

�� IF ����ִ�����������ʱ����Ϊ A.B ����һ����Ч���Ŷ�������Ҫ��ȷ�ش������ IF �����ʡ�����ʡ�Ժţ�������ʾ:


$ IF FILENAME .NES. "" THEN TYPE 'FILENAME'

12.13.5 δ����ķ���

�������������ʹ�õķ���û�ж��壬������ͳ��������ʾһ��������Ϣ�������ÿմ��滻������ţ��������Ķ��������������:

  • ��������ĵ�һ���͵ڶ����׶Σ�������ͳ����ÿմ��滻����ǰ�����ʡ�ԺŻ�ͺŵ�δ������š�
  • ��������ĵ������׶Σ����������ͳ�����һ��δ������ţ�������ʾһ��������Ϣ���Ҳ���ɴ�����

��������չʾ������ͳ�����δ���ǰ�����ʡ�Ժŵ�δ�������:


$ FILE := MYFILE'FILE_TYPE'
$ SHOW SYMBOL FILE
  FILE = "MYFILE"
$ PRINT 'FILE'

�������� FILE ʱ������ FILE_TYPE ���滻Ϊ���ĵ�ǰֵ����� FILE_TYPE û�ж��壬��ô������ͳ�����һ���մ��滻 FILE_TYPE�����ļ�˵����ȱ���ļ�����ʹ PRINT ����ʹ��Ĭ���ļ����� .LIS�����������ļ�˵��������Ϊ MYFILE.LIS��

�����������У�����ʽ��������ĵ������׶���ֵ:


$ A = 1
$ C = A + B
%DCL-W-UNDSYM, undefined symbol - check validity and spelling

���� B ��δ����ģ����������ͳ����ܶ��������ʽ��ֵ��

12.14 ʹ�÷��ŵı��÷���: �Զ��ⲿ����

����Ϊ���̶�����ţ�Ҳ���Դ� DCL ������һ��������� (.COM �ļ����� ) ���ִ��ӳ�� (.EXE �ļ�����)��ʹ���Զ��ⲿ���DCL ���������ض�Ŀ¼��������������̻��ִ��ӳ�󣬲��Զ���������

���������ʲ���һ�� DCL ���Ų��Ҳ��� DCL �������ʱ��ϵͳͨ����ʾ������Ϣ:


DCL-W-IVVERB, unrecognized command verb - check validity and spelling

Ȼ��������߼��� DCL$PATH �Ѷ��� (���Ҳ��ǿհ�)����ô DCL ��ִ�� RMS $SEARCH �������ļ���������Ч���ʵ��κ��ļ������Ұ� DCL$PATH:.* ��ΪĬ���ļ�˵����

��� DCL ���ҵ�һ�� .COM �� .EXE �ļ�����ô DCL ���Զ�ִ���Ǹ��ļ������Ұ������е����ಿ����Ϊ���IJ�����(�����Ϊ������ DOS��UNIX ����������ϵͳ�� PATH ��ѡ�)

�����������У�������Ҫ DCL ���� SYSGEN��DCL �鿴 SYS$SYSTEM Ŀ¼������ SYSGEN.EXE��DCL ��������Ϊ������� "SYSGEN" ������Ϊ "$SYS$SYSTEM:SYSGEN"������ SYSGEN ӳ�󼤻�Ϊһ���ⲿ���


$ SYSGEN
%DCL-W-IVVERB, unrecognized command verb - check validity and spelling
 \SYSGEN\
$ DEFINE DCL$PATH SYS$SYSTEM,SYS$DISK:[]FOO
$ SYSGEN SHOW MAXPROCESSCNT
Parameter Name   Current   Default    Min.    Max.    Unit  Dynamic
--------------   -------   -------   ------- -------  ----  -------
MAXPROCESSCNT        157        32        12    8192 Processes

�����������У�SS ���ض���Ϊ "@SS.COM"����Ϊ DCL ���Զ����� SYS$SYSTEM Ŀ¼������ SS.COM �� SS.EXE�����ʧ�ܣ�DCL ��������ǰĿ¼������ SS.COM �� SS.EXE��


$ TYPE SS.COM
$ SHOW SYMBOL/LOCAL/ALL
$ EXIT
$ SS "This is a parameter"
  P1 = "This is a parameter"
  P2 = ""
  P3 = ""
  P4 = ""
  P5 = ""
  P6 = ""
  P7 = ""
  P8 = ""
$ SS.EXE "This is a parameter"
  P1 = ".EXE"
  P2 = "This is a parameter"
  P3 = ""
  P4 = ""
  P5 = ""
  P6 = ""
  P7 = ""
  P8 = ""

����������У�DCL �ҳ� SS.COM������Ϊ���� "SS" �ѱ�����Ϊ "@SS.COM" �ķ��š������������̰������е����ಿ�ַ���Ϊ������ע�⣬"SS.EXE" ������ӳ�� SS.EXE���������������������� SS.COM�����е�һ�����ı��� ".EXE"������ OpenVMS ����ϵͳִ����������ͷ����滻�ķ���һ�¡�


ǰҳ ��ҳ Ŀ¼ ����