Escrevendo um programa shell em Unix para compilar e executar um arquivo COBOL usando o compilador Open-Cobol, também conhecido como GnuCOBOL

Escrevendo um programa shell em Unix para compilar e executar um arquivo COBOL usando o compilador Open-Cobol, também conhecido como GnuCOBOL

As duas linhas abaixo são o que tenho para meu shell UNIX.

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

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

Quando eu digito:

./myshell file.cob   

...o programa funciona bem. Mas o cobolfile original (sem extensão) é substituído pelo código do sistema compilado, de modo que o conteúdo se parece exatamente com o código do sistema cobolfile.exe. Então só posso executar o programa uma vez e tudo estará perdido... Como ajustar meu programa shell para evitar isso?

Saúde!! :)

Responder1

O exemplo bash na pergunta parece ter sido corrigido - embora seja bastante estranho chamar um arquivo executável de ".exe" em um sistema GNU/Linux, não é?

Se você não precisa que o arquivo de saída seja um executável, sugiro fazer

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

informação relacionada