Altova FlowForce Server 2024 Advanced Edition

Vollständiger Pfad: /System/shell/commandline

 

Führt einen Shell-Befehl oder eine Batch-Datei aus.

 

Damit Umgebungsvariablen in FlowForce Server-Aufträgen ausgelesen werden, müssen sie in Skripts definiert werden und diese Skripts müssen mit der Funktion /system/shell/commandline ausgeführt werden. Bitte beachten Sie, dass FlowForce Server eine nicht interaktive Shell ausführt, d.h. für interaktive Shells spezifisches Verhalten (z.B. die Ausführung von .profile oder .bashrc unter Linux) ist nicht anwendbar.

 

Wenn der Exit-Code des letzten Shell-Befehls nicht "0" lautet, so sind folgende Ergebnisse möglich:

 

Wenn der Parameter Bei Fehler abbrechen true ist (Standardeinstellunge), so bricht diese Funktion die Ausführung ab. In diesem Fall können Sie den Fehler mit Hilfe von geschützten Blöcken behandeln (siehe Behandlung von Fehlern in Schritten).

Wenn der Parameter Bei Fehler abbrechen false ist, so gibt die Funktion das Ergebnis des Shell-Befehls einschließlich Standardausgabe, Standardfehler und Exit-Code zurück.

 

Wenn der Exit-Code des letzten Befehls "0" (Erfolg) ist, so gibt die Funktion das Ergebnis des letzten Shell-Befehls als allgemeinen Typ zurück. Um den durch diese Funktion zurückgegebenen Wert in einem weiteren Schritt oder Auftrag zu behandeln, gehen Sie folgendermaßen vor:

 

1. Geben Sie dem zurückgegebenen Ergebnis durch Eingabe eines Werts in das Textfeld Das Ergebnis dieses Schritts zuweisen an einen Namen (z.B. MeinErgebnis).

2. Erstellen Sie einen neuen Schritt, der, je nachdem, welcher Rückgabetyp benötigt wird, entweder die Funktion compute oder compute-string ausführt.

3. Geben Sie als Argument für die obige Funktion einen Ausdruck ein, der den gewünschten Teil aus dem allgemeinen Ergebnis abruft. Geben Sie z.B. den Ausdruck stdout(MeinErgebnis) ein, um die Standardausgabe des Ergebnisses als Stream zu erhalten und stderr(MeinErgebnis), um den Standardfehler-Ausgabestream zu erhalten. Um denselben Wert als String zu erhalten, verwenden Sie content(stdout(MeinErgebnis)) bzw. content(stderr(MeinErgebnis)).

 

Beachten Sie, dass die Funktion stdout (und der Auftrag) fehlschlagen, wenn der Shell-Befehl keine Standardausgabe zurückgibt. Genauso schlägt auch die Funktion stderr fehl, wenn es keinen Standardfehler gibt.

 

Siehe auch Behandlung von Datentypen in Schritten und Schrittergebnisfunktionen.

 

Parameter

Name

Typ

Beschreibung

Befehl

String

Geben Sie den auszuführenden Shell-Befehl ein.

Bei Fehler abbrechen

Boolean

Dieser Boolesche Parameter legt fest, was der Rückgabewert der Funktion sein soll, wenn der Auftrag fehlschlägt. Wenn Bei Fehler abbrechen FALSE ist, gibt die Funktion den Booleschen Wert FALSE zurück. Wenn Bei Fehler abbrechen TRUE ist, wird die Ausführung des Auftrags abgebrochen. Der Standardwert ist TRUE.

Arbeitsverzeichnis

String als Verzeichnis

Definiert das Arbeitsverzeichnis des Auftrags (z.B. c:\irgendeinVerzeichnis)). Bei Verwendung relativer Pfade werden diese anhand des Arbeitsverzeichnisses aufgelöst.

 

Beispiele

Im folgenden Auftrag wird eine Windows-Batch-Datei namens DoTransform.bat ausgeführt. Wenn für DoTransform.bat eine XML-Datei als Input benötigt wird, muss die XML-Input-Datei in das Arbeitsverzeichnis kopiert werden. Das Arbeitsverzeichnis in diesem Beispiel ist C:\codegen\xslt2.

fs_commandline_01

Im folgenden Auftrag wird RaptorXML Server aufgerufen, um eine XSLT-Transformation mit Parametern auszuführen. Es wird angenommen, dass die Umgebungsvariable PATH den Pfad zur ausführbaren RaptorXML-Server-Datei enthält: z.,B. C:\Programme (x86)\Altova\RaptorXMLServer2024\bin. Nähere Informationen zu RaptorXML Server finden Sie unter https://www.altova.com/de/raptorxml.

RaptorCMDline2

Ein Schritt-für-Schritt-Beispiel, in dem die von der Befehlszeile zurückgegebene Ausgabe behandelt wird, finden Sie unter Beispiel: Überprüfen, ob ein Pfad existiert.

© 2018-2024 Altova GmbH