Schreiben eines Shell-Programms in Unix zum Kompilieren und Ausführen einer COBOL-Datei mit dem Open-Cobol-Compiler, auch bekannt als GnuCOBOL

Schreiben eines Shell-Programms in Unix zum Kompilieren und Ausführen einer COBOL-Datei mit dem Open-Cobol-Compiler, auch bekannt als GnuCOBOL

Die beiden folgenden Zeilen habe ich für meine UNIX-Shell.

cobc -free -x -o$(basename "$1" .exe) "$1"

./$(basename "$1" .exe)

Wenn ich tippe:

./myshell file.cob   

...das Programm läuft einwandfrei. Aber die ursprüngliche Cobol-Datei (ohne Erweiterung) wird mit kompiliertem Systemcode überschrieben, sodass der Inhalt genau wie der Systemcode von cobolfile.exe aussieht. Ich kann das Programm also nur einmal ausführen, dann ist alles verloren ... Wie kann ich mein Shell-Programm optimieren, um dies zu vermeiden?

Prost!! :)

Antwort1

Das Bash-Beispiel in der Frage scheint korrigiert worden zu sein – obwohl es ziemlich seltsam ist, eine ausführbare Datei in einem GNU/Linux-System „.exe“ zu nennen, nicht wahr?

Wenn Sie die Ausgabedatei nicht als ausführbare Datei benötigen, empfehle ich Folgendes:

cobc -free $1
cobcrun $(basename "$1")

verwandte Informationen