Las dos líneas siguientes son las que tengo para mi shell UNIX.
cobc -free -x -o$(basename "$1" .exe) "$1"
./$(basename "$1" .exe)
Cuando escribo:
./myshell file.cob
...el programa funciona bien. Pero el archivo cobolfile original (sin extensión) se sobrescribe con el código del sistema compilado, por lo que el contenido se ve exactamente como el código del sistema cobolfile.exe. Así que sólo puedo ejecutar el programa una vez y luego todo se pierde... ¿Cómo puedo modificar mi programa shell para evitar esto?
¡¡Salud!! :)
Respuesta1
La muestra de bash en la pregunta parece haber sido corregida, aunque es bastante extraño llamar a un archivo ejecutable ".exe" en un sistema GNU/Linux, ¿no es así?
Si no necesita que el archivo de salida sea ejecutable, le sugiero que lo haga
cobc -free $1
cobcrun $(basename "$1")