DİJİTAL Komut Dili - DIGITAL Command Language - Wikipedia

DİJİTAL Komut Dili
Openvms-8.4-2L1-dcl.png
OpenVMS Alpha 8.4-2L1, DCL CLI'yi bir terminal oturumunda gösterir
Paradigmazorunlu
Tarafından tasarlandıDigital Equipment Corporation
GeliştiriciDigital Equipment Corporation
işletim sistemiRSTS / E, RSX-11, RT-11, OpenVMS, VAXELN
Etkilenen
Windows PowerShell

DİJİTAL Komut Dili (DCL) çoğu tarafından benimsenen standart komut dilidir. işletim sistemleri (OS'ler) eski tarafından satılan Digital Equipment Corporation (tarafından satın alındı Compaq tarafından satın alındı Hewlett Packard ). DCL'nin kökleri IAS, TOPS-20, ve RT-11 İşletim sistemleri ve özellikle Digital'in işletim sistemlerinin çoğunda bir standart olarak uygulandı RSX-11, ancak en güçlü şeklini OpenVMS İŞLETİM SİSTEMİ.

Ne zaman yazılmış Programlama dili Fortran yoğun kullanımdaydı, DCL bir komut dosyası dili birkaçını desteklemek veri tipleri dizeler dahil, tamsayılar, bit diziler, diziler ve boolean, ancak değil kayan nokta sayılar. Erişim OpenVMS sistem servisleri (çekirdek API ) sözlüdür fonksiyonlar aynı performansı gösteren derlenmiş dil benzerler ve komut dosyalarının sistem durumu hakkında bilgi almasına izin verir. DCL şunları içerir: EĞER-DEĞİLSE, tüm Kayıt Yönetim Hizmetleri Akış, dizine alınmış ve sıralı dahil (RMS) dosya türleri, ancak maalesef bir YAPARKEN veya diğeri döngü Kullanıcıların IF ile idare etmesini gerektiren ve GİT -yerine etiket ifadeleri.

DCL, aşağıdakiler dahil diğer işletim sistemleri için de mevcuttur:

DCL, XLNT 1997'den itibaren Advanced System Concepts Inc. tarafından dağıtılan CGI yetenekleriyle bir yorumlayıcı-IDE-WSH motoru kombinasyonu tarafından Windows üzerinde uygulanan dil.

Komut satırı ayrıştırıcısı

OpenVMS uygulaması için komut satırı ayrıştırıcısı bir çalışma zamanıdır kütüphane (CLI $) kullanıcı uygulamalarına derlenebilen ve bu nedenle hem işletim sistemi tarafından sağlanan komutlar hem de kullanıcı tarafından yazılan komutlar için tutarlı bir komut satırı arayüzü sağlar. Komut satırı bir fiil ile başlamalı ve ardından bağımsız değişkenler veya niteleyiciler ( Unix terminoloji) '/' karakteriyle başlayan. Unix'in aksine (ancak benzer DOS ), "/" işaretinden önce boşluk gerekmez. Niteleyiciler konumdan bağımsız (komut satırının herhangi bir yerinde olabilir) veya konuma bağlı olabilir, bu durumda niteleyici daha sonra göründüğü parametreyi etkiler. Çoğu niteleyici konumdan bağımsızdır. Fiil ve niteleyici adının yalnızca ilk en önemli kısmı gereklidir. Örnek bir işletim sistemi komutu şöyle görünebilir:

    Ayarlamak denetim /alarm /etkinleştirme=(yetki, sözünü kesmek=herşey)    göstermek cihaz /Dosyalar 1 $ DGA1424:

İkinci göstermek komut şu şekilde de yazılabilir:

   sho dev $ 1 $ DGA1424: / fil

DCL dokümantasyonu genellikle tüm DCL komutlarını büyük harfle gösterirken, DCL komutları büyük / küçük harfe duyarlı değildir ve büyük, küçük veya karışık harflerle yazılabilir.

OpenVMS gibi bazı uygulamalar, komutların kısaltılmasına izin vermek için minimum bir benzersizlik şeması kullanırken, RSX-11 gibi diğerleri komutların minimum üç karakter olacak şekilde kısaltılmasına izin verdi.

Kullanan diğer sistemlerin aksine yollar komutları bulmak için DCL, komutların CLD (Komut Dili Tanımı) tanımları yoluyla veya bir yabancı sembol. Çoğu OpenVMS -yerel komutlar CLD dosyaları aracılığıyla tanımlanır; bunlar CDU, Komut Tanımı Yardımcı Programı tarafından derlenir ve bir DCL 'tablosuna' eklenir - SYS $ KÜTÜPHANE: DCLTABLES.EXE varsayılan olarak, süreçler kendi tablolarını kullanmakta serbesttir ve daha sonra kullanıcı tarafından çağrılabilir. Örneğin, "/ BAR" seçeneğini kabul eden ve görüntü tarafından uygulanan bir FOO komutunun tanımlanması SYS $ SYSEXE: FOO.EXE şuna benzer bir CLD dosyasıyla yapılabilir:

 TANIMLAMAK FİİL FOO    GÖRSEL "SYS $ SYSEXE: FOO.EXE"    KALİFİYE BAR

Kullanıcı daha sonra "FOO"veya"FOO / BAR"ve FOO programı çağrılacaktır. Komut tanımlama dili, örneğin tarihler ve dosya özellikleri gibi birçok seçeneği destekler ve bir niteleyicinin çağrılan görüntüyü değiştirmesine izin verir - örneğin" CREATE ", bir dosya oluşturmak için . "CREATE / DIRECTORY" bir dizin oluşturmak için.

Komutları tanımlamanın diğer (daha basit, ancak daha az esnek) yöntemi, yabancı komutlar. Bu daha çok Unix programları çağırma yöntemine benzer. Komutu vererek:

 foo :== $ sys $ sysexe:foo.exe

'FOO' komutu FOO.EXE'yi çağıracak ve programa tam anlamıyla ek argümanlar sağlayacaktır, örneğin, "foo -v". Bu yöntem genellikle Unix ve diğer yerel olmayan sistemlerden taşınan programlar için kullanılır; argc ve argv komut sözdizimini kullanan C programları için.

Sürümleri OpenVMS V6.2 ile başlayan DCL, DCL $ PATH Unix tarzı komut yolları oluşturmak için mantıksal ad. Bu mekanizma Otomatik Yabancı Komutanlığı olarak bilinir. DCL $ PATH, bir dizin listesinin belirtilmesine izin verir ve bu dizinler daha sonra DCL komut prosedürleri için aranır (komut.COM) ve ardından çalıştırılabilir görüntüler için (komut.EXE) kullanıcı tarafından girilen komutla eşleşen dosya adlarıyla. Geleneksel yabancı komutlar gibi, otomatik yabancı komutlar da Unix tarzı komut girişine izin verir.

Komut dosyası oluşturma

DCL komut dosyaları, bazı istisnalar dışında diğer tüm komut dosyası dillerine çok benzer. Bir komut dosyasındaki tüm DCL fiillerinin önünde bir $ sembolü bulunur; diğer satırlar önceki komuta girdi olarak kabul edilir. Örneğin, ekrana bir paragraf yazdırmak için TYPE komutunu kullanmak için aşağıdakine benzer bir komut dosyası kullanılabilir:

$ TİP SYS$ INPUT:Bu, TYPE fiilinin kullanımına bir örnektirDCL dilinde.$ ÇIKIŞ

Dolaylı değişken referanslama

DCL'de çevrilmiş semboller aracılığıyla başvurulan diziler oluşturmak mümkündür. Bu, programcının verinin kendisini bir indeksleme işlevi olarak kullanarak rastgele boyutlandırılmış veri yapıları oluşturmasına izin verir.

$ ben = 1$ değişken'ben' = "mavi"$ ben = 2 $ değişken'ben' = "yeşil"$ j = 1$ renk = değişken'j'$ gökkuşağı'renk' = "kırmızı"$ renk = değişken'ben'$ gökkuşağı'renk' = "Sarı"

Bu örnekte değişken gökkuşağı mavisi "kırmızı" değeri atanır ve gökkuşağı yeşili "sarı" değeri atanır.

Komutlar

Aşağıdakiler bir DCL listesidir komutlar OpenVMS tarafından desteklenen yaygın bilgi işlem görevleri için komut satırı arayüzü.[2]

Sözcüksel işlevler

Sözcüksel işlevler dizi işlevleri ve VMS ile korunan verilere erişim sağlar.

Bazı Sözlükler:

  • F $ ÖZÜT (başlangıç, uzunluk, dize) - bir alt dizeyi ayıklayın
  • F $ CVTIME - tarih / saat bilgisi alın, ör.
    YEST_DOW=F$ EKSTRAKT(0,3,F$ CVTIME(DATE_EXPR,,"HAFTA İÇİ"))
  • F $ ELEMENT (0; ""; ABC_DEF) - için ABC_DEF = "ABC DEF" geri dönecekti "ABC"
  • F $ ARAMA - bir dosya arar, bulunamazsa boş ("") döndürür
  • F $ LOCATE (iğne, samanlık)
  • F $ SetPRV ("BYPASS, CMKRNL, ALTPRI") - buna erişebilmek bir ayrıcalık.

Ayrıca bakınız

Referanslar

  1. ^ "PC-DCL ile Open DCL Lite Karşılaştırması". Valentin'ın PC-DCL ile Accelr8 Open DCL Lite karşılaştırması
  2. ^ OpenVMS Kullanım Kılavuzu

daha fazla okuma

  • Paul C. Anagnostopoulos; Steve Hoffman (1998). DCL'de Gerçek Programlar Yazmak (İkinci baskı). Dijital Basın. ISBN  1-55558-191-9.

Dış bağlantılar