Blog (2)
Komentarze (1)
Recenzje (0)
@winlinPodstawowe zasady wprowadzania zleceń w DCL (DIGITAL Command Language)

Podstawowe zasady wprowadzania zleceń w DCL (DIGITAL Command Language)

22.01.2012 21:45

Większość użytkowników miała do czynienia lub przynajmniej słyszała o systemach Uniksowych. Do komunikacji z nimi służą powłoki systemowe takie jak sh (powłoka Bourne’a), ksh (powłoka Korna), csh (powłoka C) czy najbardziej populara – bash.

Ja w tym krótkim wpisie chciałem napisać o innym systemie operacyjnym powstałym w nieistniejącej już firmie Digital, mianowicie o OpenVMS. System ten powstał w drugiej połowie lat 70. Pierwotnie napisany został dla komputerów VAX. Jednym z liderów projektu był Dave Cutler, późniejszy współtwórca Windows NT. Na początku lat 90 system został napisany dla platformy AXP Alpha. Po zakupie Firmy Digital przez innego potentata Compaqa system był dalej rozwijany. Po rezygnacji Compaqa z dalszego rozwijania platformy Alpha, właściciel systemu zapowiedział przeniesienie go do głośno zachwalanej wówczas platformy Itanium. Po zakupie Compaqa przez HP system jest rozwijany dalej w szczególności dla serwerów Integrity (opartej na platformie Itanium), ale także równolegle dla platformy alpha.

DCL (DIGITAL Command Language) jest językiem poleceń, zestawem instrukcji, które informują system operacyjny (w naszym przypadku OpenVMS) w jaki sposób wykonać określone działanie lub zadanie. DCL zapewnia ponad 200 poleceń i funkcji do wykorzystania w komunikacji z systemem operacyjnym w celu realizacji różnych zadań. DCL jak każdy język ma swoje słownictwo i zasady korzystania z niego. Składa się ze słów wpisywanych w odpowiedniej kolejności.

Ogólny format poleceń w DCL ma następującą postać:

$POLECENIE[/KWALIFIKATOR]   PARAMETR[/KWALIFIKATOR]  PARAMETR[/KWALIFIKATOR]   […]

W nawiasach kwadratowych ujęte zostały elementy opcjonalne. Jeżeli taki element nie zostanie wprowadzony to interpreter stosuje wartość domyślną. Co najmniej jeden znak odstępu lub tabulacji musi oddzielić polecenie od pierwszego parametru. Tak samo muszą być oddzielone poszczególne parametry od siebie. Każdy kwalifikator musi rozpoczynać się znakiem (/). Po tym znaku lub przed nim można użyć dowolnej liczby odstępów. Przy wprowadzaniu formuły zlecenia można użyć dowolnej kombinacji małych i dużych liter. Dla DCL wielkość liter nie ma znaczenie w przeciwieństwie do powłok Uniksowych. DCL konwertuje wszystkie słowa nie ujęte w cudzysłów na duże litery. W moim opracowaniu stosuje wielkie litery.

Przykład:

$ PRINT/COPIES=3 PLIK.TXT

Znak dolara $ jest domyślnym początkiem polecenia. Podczas interaktywnej pracy z DCL określa gotowość przyjęcia polecenia.

POLECENIE (zlecenie, komenda) to słowo określające nazwę polecenia. Zleceniem może być poleceniem wbudowanym w interpreter DCL, poleceniem które wywołuje program lub zleceniem obcym. Mówi nam jaka operacja ma być wykonana. W tym przykładzie zleceniem jest komenda PRINT czyli drukuj.

KWALIFIKATOR. Kwalifikator opisuje dokladniej lub modyfikuje działanie komendy. Kwalifikatory modyfikują całe polecenia, inne mogą modyfikować określony parametr. Niektóre kwalifikatory mogą przyjąć pewne wartości. W zleceniu może występować większa liczka kwalifikatorów, zarówno dotyczących komendy jak i parametru. Kwalifikator zawsze poprzedzony jest poprzecznym ukośnikiem (/). W naszym przykładzie kwalifikatorem jest /COPIES.

WARTOŚĆ. Wartość to zmienna kwalifikatora i często jest poprzedzana znakiem równości (=). Wartością może być odpowiedni plik, ciąg znaków, liczba lub słowo kluczowe interpetatora DCL. W naszym przypadku warością jest cyfra 3.

PARAMETR. Parametr określa obiekt (którym może być plik lub nazwa logiczna) nad którym pracuje komenda. Parametr należy ustawić w określonej kolejności w formacie polecenia. W naszym przykładzie parametrem jest plik PLIK.TXT

Podsumowując: komenda opisuje co zrobić, kwalifikator opisuje jak to zrobić, a parametr podaje na jakim obiekcie należy wykonać zlecenie.

W formacie zlecenia występują czasami także inne elementy takie jak: ETYKIETY, SŁOWA KLUCZOWE, SYMBOLE WIELOZNACZNE. Słowa kluczowe określają ich stosowanie w pewnych określonych formułach. Słowa kluczowe czasami zachowują się jak parametry, a innym razem służą jako wartości dla kwalifikatorów. Słowami kluczowymi są zawsze zdefiniowane słowa, a nie dowolny ciąg znaków.

Przykład:

$ DIRECTORY LOGIN.COM /DATE=MODIFIED

Polecenie DIRECTORY nakazuje pokazać datę modyfikacji pliku LOGIN.COM W tym przykładzie słowem kluczowym jest MODIFIED dla kwalifikatora /DATA. Plik LOGIN.COM jest w tutaj parametrem.

Symbolami wieloznacznymi są gwiazdki (*), znak procentu (%), wielokropek (…), czy myślnik (‑). Mogą być stosowane wewnątrz, w nazwie pliku lub nazwie rodzaju pliku.

Niektóre komendy jak COPY lub RENAME akceptują wiele parametrów oddzielonych spacją. Inne polecenia jak PRINT lub DELETE akceptują listę parametrów oddzielonych przecinkami (,) lub znakiem plus (+).

Powrócę do mojego przykładu:

$ PRINT/COPIES=3 PLIK.TXT

Polecenie to oznacza wydrukuj 3 kopie pliku o nazwie PLIK.TXT. Zlecenie to jest równoważne formule:

$ PRINT PLIK.TXT/COPIES=3 

Oznaczające wydrukuj plik PLIK.TXT w trzech egzemplarzach.

Teraz rozważmy to samo polecenie ale z pewnymi zmianami, które pokazują znaczenie kwalifikatorów. Jak ich pozycja ma wpływ na zmianę sensu polecenia.

$PRINT/COPIES=2 PLIK.TXT, DRUGI_PLIK.TXT

W powyższym przykładzie kwalifikator /COPIES występuje po komendzie PRINT. Oznacza to że kwalifikator ten ma zastosowanie do obudwu parametrów, w tym przykładzie plików PLIK.TXT oraz DRUGI_PLIK.TXT. Jednym zdaniem zostaną wydrukowane po dwie kopie obydwu plików.

Oto drugie polecenie:

[code=]$PRINT PLIK.TXT, DRUGI_PLIK.TXT/COPIES=2[/code]

W tym przykładzie kwalifikator /COPIES występuje po parametrze DRUGI_PLIK.TXT i odnosi się tylko do tego parametru. W tym przykładzie zostanie wydrukowany jeden egzemplarz pliku PLIK.TXT oraz dwie kopie pliku DRUGI_PLIK.TXT

Ten krótki wpis miał zaznajomić z procedurami wpisywania poleceń w DCL. W następnym wpisie pokażę przykłady tworzenia, kopiowania i usuwania plików i katalogów. Zachęcam do zainteresowania się systemem OpenVMS. Nie tylko Uniksem człowiek żyje. W poszukiwaniu informacji na temat tego systemu Google (i nie tylko) naszym przyjacielem.

Wybrane dla Ciebie
Komentarze (7)