DIGITAL командалық тіл - DIGITAL Command Language - Wikipedia

DIGITAL командалық тіл
Openvms-8.4-2L1-dcl.png
OpenVMS Alpha 8.4-2L1, DCL CLI-ді терминал сессиясында көрсетеді
Парадигмаимперативті
ЖобалағанDigital Equipment Corporation
ӘзірлеушіDigital Equipment Corporation
ОЖRSTS / E, RSX-11, RT-11, OpenVMS, VAXELN
Әсер етті
Windows PowerShell

DIGITAL командалық тіл (DCL) - көпшілігінің қабылдаған стандартты командалық тілі операциялық жүйелер Бұрынғы сатылған (ОЖ) Digital Equipment Corporation (сатып алған Compaq, ол өз кезегінде сатып алынған Hewlett-Packard ). DCL-дің тамырлары болды IAS, TOPS-20, және RT-11 ОЖ және сандық жүйелердің көпшілігінде стандарт ретінде енгізілген, атап айтқанда RSX-11, бірақ өзінің ең қуатты түрін алды OpenVMS ОЖ.

Қашан жазылған бағдарламалау тілі Фортран қатты пайдаланылды, DCL - а сценарий тілі бірнеше қолдау деректер типтері ішектерді қоса, бүтін сандар, бит массивтер, массивтер және бульдер, бірақ олай емес өзгермелі нүкте сандар. Кіру OpenVMS жүйелік қызметтер (ядро API ) лексикалық арқылы жүреді функциялары, олар сияқты орындайды жинақталған тіл аналогтар және сценарийлерге жүйенің күйі туралы ақпарат алуға мүмкіндік береді. DCL құрамына кіреді БІР-БІРДЕ БОЛСА, барлық қол жетімділік Жазбаларды басқару бойынша қызметтер (RMS) файл түрлері, соның ішінде ағынды, индекстелген және дәйекті, бірақ өкінішке орай а ҚАЛҒАНДА немесе басқа цикл пайдаланушылардан IF және талаптарын талап ететін етіп салу БАРУ -белгілеудің орнына.

DCL басқа амалдық жүйелер үшін де қол жетімді, соның ішінде

  • Unix үшін VCL және VX / DCL,
  • VCL арналған MS-DOS, OS / 2 және Windows,
  • PC-DCL және DCL ашыңыз Windows / Linux үшін
  • және Windows үшін Accelr8 DCL Lite.[1]

DCL - негізі XLNT Windows-та 1997 жылдан бастап Advanced System Concepts Inc таратқан CGI мүмкіндіктері бар аудармашы-IDE-WSH қозғалтқыш тіркесімі арқылы жүзеге асырылатын тіл.

Пәрмен жолын талдаушы

OpenVMS енгізу үшін пәрмен жолын талдаушы жұмыс уақыты болып табылады кітапхана (CLI $) қолданушы қосымшаларында жинақталуы мүмкін, сондықтан ОС жеткізілетін командалар үшін де, қолданушының жазбаша командалары үшін де жүйелік командалық интерфейс береді. Пәрмен жолы етістен басталуы керек, содан кейін аргументтер немесе жіктеуіштер (ауысады Unix '/' таңбасынан басталатын терминология). Unix-тен айырмашылығы (бірақ ұқсас DOS ), '/' алдында бос орын қажет емес. Квалификаторлар позицияға тәуелді емес (командалық жолдың кез келген жерінде болады) немесе позицияға тәуелді болуы мүмкін, бұл жағдайда жіктеуіш кейін пайда болатын параметрге әсер етеді. Іріктеудің көп бөлігі позицияға тәуелді емес. Етістің және мағынаның бірінші маңызды бөлігі ғана қажет. Мысалдың ОС командасы келесідей болуы мүмкін:

    орнатылды аудит /дабыл /қосу=(авторизация, басып кіру=барлық)    көрсету құрылғы /файлдар $ 1 $ DGA1424:

Екінші көрсету пәрменді келесідей теруге болады:

   sho dev $ 1 $ DGA1424: / fil

DCL құжаттамасы әдетте барлық DCL командаларын үлкен әріптермен көрсетсе, DCL командалары регистрді ескермейді және оларды үлкен, кіші немесе аралас әріптермен теруге болады.

OpenVMS сияқты кейбір бағдарламалар командаларды қысқартуға мүмкіндік беру кезінде минималды бірегейлік схемасын қолданды, ал басқалары RSX-11 командаларды кемінде үш таңбаға дейін қысқартуға мүмкіндік берді.

Пайдаланатын басқа жүйелерден айырмашылығы жолдар командаларды орналастыру үшін DCL командалардың нақты анықталуын қажет етеді, немесе CLD (Command Language Definition) анықтамалары арқылы немесе шетелдік белгі. Көпшілігі OpenVMS - жергілікті командалар CLD файлдары арқылы анықталады; оларды CDU, Command Definition Utility құрастырады және DCL 'кестесіне' қосады - SYS $ КІТАПХАНА: DCLTABLES.EXE әдепкі бойынша, дегенмен процестер өздерінің кестелерін еркін қолдана алады, содан кейін оларды қолданушы шақыра алады. Мысалы, «/ BAR» опциясын қабылдайтын және сурет арқылы жүзеге асырылатын FOO командасын анықтау SYS $ SYSEXE: FOO.EXE келесідей CLD файлымен жасалуы мүмкін:

 АНЫҚТАУ Етістік FOO    Кескін «SYS $ SYSEXE: FOO.EXE»    БІЛІКТІ БАР

Содан кейін пайдаланушы «FOO«, немесе»FOO / BAR«, және FOO бағдарламасы шақырылады. Пәрменді анықтау тілі көптеген нұсқалардың түрлерін қолдайды, мысалы, күндер мен файлдың сипаттамалары, және біліктілікке шақырылған суретті өзгертуге мүмкіндік береді - мысалы» CREATE «, файл жасау үшін, vs . «CREATE / DIRECTORY» каталог құру үшін.

Командаларды анықтаудың басқа әдісі (қарапайым, бірақ икемділігі төмен) шетелдік командалар. Бұл бағдарламаларды шақырудың Unix әдісіне ұқсас. Пәрмен беру арқылы:

 ақымақ :== $ sys $ sysexe:ақымақ.орындалатын

'FOO' командасы FOO.EXE-ді шақырады және кез-келген қосымша аргументтерді бағдарламаға береді, мысалы, «foo -v». Бұл әдіс әдетте Unix және басқа жүйелерден тасымалданатын бағдарламалар үшін қолданылады; argc және argv командалық синтаксисті қолданатын С бағдарламалары үшін.

Нұсқалары OpenVMS V6.2-ден басталатын DCL DCL $ PATH Unix стиліндегі командалық жолдарды орнатудың логикалық атауы. Бұл механизм «Автоматты түрде шетелдік қолбасшылық» ретінде белгілі. DCL $ PATH каталогтар тізімін көрсетуге мүмкіндік береді, содан кейін бұл каталогтар DCL командалық процедураларын іздейді (команда.COM), содан кейін орындалатын суреттер үшін (команда.EXE) қолданушы енгізген пәрменге сәйкес келетін файл атаулары бар. Дәстүрлі шетелдік командалар сияқты, автоматты шетелдік командалар да Unix стиліндегі команданы енгізуге мүмкіндік береді.

Сценарий жазу

DCL сценарийлері кез-келген басқа сценарийлер тіліне ұқсас, кейбір ерекшеліктерді қоспағанда. Сценарийдегі барлық DCL етістіктерінің алдында $ белгісі қойылған; басқа жолдар алдыңғы командаға енгізілген болып саналады. Мысалы, абзацты экранға шығару үшін TYPE командасын пайдалану үшін келесі сценарийді қолдануға болады:

$ TYPY SYS$ INPUT:Бұл TYPE етістігін қолдану мысалыDCL тілінде.$ ШЫҒУ

Жанама айнымалы сілтеме

Аударылған таңбалар арқылы сілтеме жасайтын DCL-де массивтер құруға болады. Бұл бағдарламалаушыға деректердің өзін индекстеу функциясы ретінде қолдана отырып, ерікті көлемдегі мәліметтер құрылымын құруға мүмкіндік береді.

$ мен = 1$ айнымалы'мен' = «көк»$ мен = 2 $ айнымалы'мен' = «жасыл»$ j = 1$ түс = айнымалы'j'$ кемпірқосақ'түс' = «қызыл»$ түс = айнымалы'мен'$ кемпірқосақ'түс' = «сары»

Бұл мысалда айнымалы кемпірқосақ «қызыл» мәні беріледі, және кемпірқосақ «сары» мәні беріледі.

Пәрмендер

Төменде DCL тізімі келтірілген командалар OpenVMS қолдайтын жалпы есептеу тапсырмалары үшін командалық интерфейс.[2]

Лексикалық функциялар

Лексикалық функциялар жол функцияларын және VMS қолдайтын мәліметтерге қол жеткізуді қамтамасыз ету.

Кейбір лексикалық сөздер:

  • F $ EXTRACT (басталу, ұзындық, жол) - ішкі жолды шығарып алыңыз
  • F $ CVTIME - күн / уақыт туралы ақпаратты алу, мысалы.
    YEST_DOW=F$ EXTRACT(0,3,F$ CVTIME(DATE_EXPR,,«АПТА КҮНІ»))
  • F $ ELEMENT (0, «», ABC_DEF) - үшін ABC_DEF = «ABC DEF» қайтып келеді «ABC»
  • F $ SEARCH - файлды іздейді, егер табылмаса, нөлді қайтарады («»)
  • F $ LOCATE (ине, пішен)
  • F $ SetPRV («BYPASS, CMKRNL, ALTPRI») - бұған қол жеткізу мәртебе.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ «PCL-DCL-мен Open DCL Lite-ді салыстыру». Валентиннің PC-DCL-ді Accelr8 Open DCL Lite-мен салыстыру
  2. ^ OpenVMS пайдаланушы нұсқаулығы

Әрі қарай оқу

  • Павел Анагностопулос; Стив Хоффман (1998). DCL-де нақты бағдарламалар жазу (Екінші басылым). Digital Press. ISBN  1-55558-191-9.

Сыртқы сілтемелер