Написание программы оболочки в Unix для компиляции и запуска файла COBOL с использованием компилятора Open-Cobol, также известного как GnuCOBOL

Написание программы оболочки в Unix для компиляции и запуска файла COBOL с использованием компилятора Open-Cobol, также известного как GnuCOBOL

Две строки ниже — это то, что у меня есть для оболочки UNIX.

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

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

Когда я печатаю:

./myshell file.cob   

...программа работает нормально. Но исходный cobolfile (без расширения) перезаписывается скомпилированным системным кодом, поэтому содержимое выглядит точно так же, как системный код cobolfile.exe. Поэтому я могу запустить программу только один раз, после чего все теряется... Как мне настроить мою оболочку, чтобы избежать этого?

Ваше здоровье!! :)

решение1

Пример bash в вопросе, похоже, был исправлен, хотя довольно странно называть исполняемый файл «.exe» в системе GNU/Linux, не правда ли?

Если вам не нужно, чтобы выходной файл был исполняемым, я бы посоветовал сделать так:

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

Связанный контент