Benutzer-Werkzeuge

Webseiten-Werkzeuge


computer:openvms:dcl:aufbau_von_kommandos

Dies ist eine alte Version des Dokuments!


A PCRE internal error occured. This might be caused by a faulty plugin

Mithilfe DCL-Kommandos lassen sich sogar komplexe Befehlssequenzen "zerlegen" und in sehr kompakter Schreibweise zusammenfassen. ======Format====== Ein DCL-Kommando besteht in aller Regel aus: * **Verb** - "**Was** soll gemacht werden?" / Kommandoname * **Qualifizierer** - "**Wie** soll es gemacht werden?" / Optionen * **Parameter** - "**Womit** soll es gemacht werden?" / Datei bzw. Objekt * **Schlagwörter** - zusätzliche Informationen und Optionen Ein Beispiel: <code> $ PRINT MYFILE.TXT/COPIES=3 </code> Der Befehl druckt die Datei **MYFILE.TXT** auf dem Standarddrucker **3x** aus. * **PRINT** = Verb * **MYFILE.TXT** = Parameter * **/COPIES=3** = Qualifizierer =====Verb/Kommando===== ... **Unvollständige** Kommandos werden in der Regel interaktiv um ihre zwingend benötigten Parameter ergänzt - die beiden folgenden führen zum gleichen Ergebnis: <code> $ RENAME MYFILE1.TXT MYFILE2.TXT $ RENAME _From: MYFILE1.TXT _To: MYFILE2.TXT </code> Wichtig ist, dass lediglich die zwingend notwendigen Parameter abgefragt werden - eventuelle optionale Parameter und Qualifizierer gehen verloren. **Überlange** Kommandos können auch über mehrere Zeilen hinweg geschrieben werden. Die beiden folgenden Befehle bewirken exakt das gleiche: <code> $ PRINT MYFILE1.TXT/COPIES=1/QUEUE=OFFICEA,MYFILE2.TXT/COPIES=2/QUEUE=OFFICEB,MYFILE3.TXT/COPIES=3/QUEUE=OFFICEC $ PRINT - _$ MYFILE1.TXT/COPIES=1/QUEUE=OFFICEA, - _$ MYFILE2.TXT/COPIES=2/QUEUE=OFFICEB, - _$ MYFILE3.TXT/COPIES=3/QUEUE=OFFICEC </code> Das hinten angefügte Minus-Zeichen erklärt der Shell, dass das Kommando noch nicht komplett ist. Hierdurch ändert sich auch der Prompt in **_$**. =====Qualifizierer===== Qualifizierer können entweder für einen Parameter oder für einen kompletten DCL-Aufruf definiert werden, ein Beispiel: <code> $ PRINT MYFILE1.TXT/COPIES=3 MYFILE2.TXT/COPIES=3 MYFILE3.TXT/COPIES=3 </code> Dieser Aufruf würde die Dateien **MYFILE1.TXT**, **MYFILE2.TXT** und **MYFILE3.TXT** jeweils **3x** auf dem Standarddrucker ausdrucken. Man könnte das Ganze auch zusammenfassen und folgenden Befehl ausführen: <code> $ PRINT/COPIES=3 MYFILE1.TXT,MYFILE2.TXT,MYFILE3.TXT </code> Parameter können natürlich für jede Definition einen anderen Wert haben - beispielsweise: <code> $ PRINT MYFILE1.TXT/COPIES=1 MYFILE2.TXT/COPIES=2 MYFILE3.TXT/COPIES=3 </code> Dieser Aufruf würde die Datei **MYFILE1.TXT** **1x**, die Datei **MYFILE2.TXT** **2x** und die Datei **MYFILE3.TXT** **3x** ausdrucken. Mehrfachdefinitionen sind auch möglich - der folgende Aufruf würde die Dateien prinzipiell **3x** ausdrucken; mit Ausnahme von **MYFILE3.TXT** die nur einmal ausgedruckt wird: <code> $ PRINT/COPIES=3 MYFILE1.TXT,MYFILE2.TXT,MYFILE3.TXT/COPIES=1 </code> Jeder Parameter erhält automatisch den Qualifizierer **/COPIES=3**, der letzte Parameter (//in dem Fall eine Datei//) **MYFILE3.TXT** erhält den Qualifizierer **/COPIES=1**. Mehrere Qualifizierer werden einfach hintereinander geschrieben, es wird keine Trennung durch Leerzeichen oder Komma vorgenommen - ein Beispiel ist: <code> $ PRINT/COPIES=3/QUEUE=OFFICEC MYFILE1.TXT,MYFILE2.TXT </code> Dieser Aufruf druckt die Dateien **MYFILE1.TXT** und **MYFILE2.TXT** jeweils **3x** auf der Drucker-Warteschlange **OFFICEC** und **nicht** der definierten Standard-Warteschlange aus. =====Parameter===== Mehrere Parameter werden in der Regel durch Kommas (//und nicht durch Leerzeichen wie in der UNIX-Welt//) getrennt: <code> $ TYPE MYFILE1.TXT,MYFILE2.TXT,MYFILE3.TXT </code> Der Befehl gibt den Inhalt der Dateien **MYFILE1.TXT**, **MYFILE2.TXT** und **MYFILE3.TXT** aus. ======Kommentare====== Als Abtrenner zwischen Befehlsdefinitionen und Kommentaren dient unter DCL das Ausrufe zeichen. Alles was hinter einem nicht-maskierten Ausrufezeichen steht ist ein Kommentar - ein Beispiel: <code> $ SHOW USERS ! This command shows all currently logged in users </code> Insbesondere in Skripten sind Kommentare sehr hilfreich, um den Code zu erläutern.

computer/openvms/dcl/aufbau_von_kommandos.1337280089.txt.gz · Zuletzt geändert: 2012/05/17 20:41 von christian