PDA

View Full Version : QSH LS nur ein mal möglich



Robi
27-09-18, 12:31
Hallo
in einem Dialogjob füllen wir eine Variable, das sie ungefähr so aussieht:

'CD /pfad/nach/irgendwo/ && LS *.[xX][lL][sS][tT]'

STDOUT wird mit OVR auf *jobebene gesetzt und nach der ausführung zurückgenommen.

der erste Aufruf
STRQSH CMD(&QSHC)
wird erfolgreich durchgeführt, die Ausgabedatei ist gefüllt.

ein 2. Aufruf in der selben Sitzung geht nicht mehr, keine Fehlermeldung aber die Ausgabedatei ist leer.
Abmelden, anmelden, aufrufen --> alles OK

einer ne Idee was ich noch zurücksetzen muß?

Danke
Robi

Fuerchau
27-09-18, 12:48
Ich hab da auch keine Ahnung, aber wenn ich mehrere Kommandos an QSH übergebe, dann mach ich das folgendermaßen:

'CD /pfad/nach/irgendwo/;ls *.[xX][lL][sS][tT]'

Zu "&&" gilt folgendes:
UND-Verknüpfung von Befehlen mit && Mit Hilfe von zwei Kaufmanns-Und && wird eine kurzschließende UND-Verknüpfung zwischen Befehlen erstellt. Dies bedeutet, dass der zweite Befehl nur ausgeführt wird, wenn der erste Befehl erfolgreich (fehlerfrei) ausgeführt wurde.

Danach nehme ich an, dass der vorausgehende "cd ...." scheitert.
Wichtig ist da u.U., Pfade immer absolut, beginnend mit "/" anzugeben, da ja durch einen "cd" das aktuelle Verzeichnis auch im aktuellen Job verschoben ist.

Robi
27-09-18, 12:54
Ja, das mit dem && ist klar und Absicht!
besser KEIN ergebniss als ein zufälliges, das falsch ist.

und der führende / ist definitiv immer dabei (sonst würde das erste mal ja schon scheitern)

Kann es sein der der CD sowas wie ne Warnung: 'brauchte nicht zu wechslen, bin hier schon' meldet, und das den LS verhindert?

Robi

Robi
27-09-18, 13:06
Habe den Befehl nun so umgestellt

'cd ..; cd"/pfad/nach/irgendwo/" && ls *.[xX][lL][sS][xX]'


geht aber auch nur ein mal.

Fuerchau
27-09-18, 13:34
Mach die cd's mal manuell in der QSH und prüfe den Exit-code per "echo $?", denn der Exit-Code = 0 ist entscheidend für den Folgebefehl.

Robi
27-09-18, 14:35
Hab ich entweder nicht verstanden, oder geht nicht ...
wenn ich qsh aufrufe kann ich o.a. Befehl(e) 100 mal ausführen (in einer Zeile)

Über ein CL nicht


Oder doch falsch verstanden?

Robi

Fuerchau
27-09-18, 15:00
Ich hatte da noch nie Probleme dieser Art.
Du kannst den CD aber auch bereits vor dem Aufruf der QSH per CL machen, wenns hilft.