Festlegen der Steuerpausenanweisung der Shell im Standardeingabestream "EOD", um das COBOL-Programm zu beenden

Ich möchte ein Cobol-Programm über ein Shell-Skript aufrufen, indem ich in der "EOD" die folgenden Befehlszeilen-Eingabeaufforderungswerte zugebe.

#!/bin/bash
run pub/coblprog<<:EOD:
1
2
3
:EOD:

Überlegen Sie, ob das COBOL-Programm "coblprog" 4 Befehlszeilenanweisungen enthält und zur Laufzeit 4 Eingabebefehlszeilenargumente erwartet. Ich habe 3 Eingabeaufforderungswerte in der EOD angegeben. Da COBOL vier Eingabeaufforderungen hat, aber bei EOD 3 Werte übergibt, geht das COBOL-Programm in eine Endlosschleife, um den vierten Eingabeaufforderungswert zu erwarten.

Meine Anforderung ist, dass ich die Anweisung control break (wie unten) einer Shell nach allen Eingabeaufforderungswerten vor second: EOD: setzen möchte. Wenn die Steueranweisung dieser Shell angezeigt wird, sollte das Shell-Skript abnormal beendet werden.

#!/bin/bash
run pub/coblprog<<:EOD:
1
2
3
exit 1
:EOD:

Ich habe exit-Anweisung im Skript und laufe, aber kein Glück ..! Bitte schlagen Sie mir eine gute Lösung vor.

Ich führe das Skript in LINUX aus, das COBOL-Programm ist Micro Focus COBOL.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage