Две строки ниже — это то, что у меня есть для оболочки 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")