Una Shell en lenguaje C [Intérprete de Comandos].
por el día Oct.03, 2007, bajo Informática, Interesante
Bueno, esto para los futuros informáticos/as y para la gente que está aprendiendo C en general, dejo aquí una práctica que tuve que hacer en la asignatura de Sistemas Operativos de 1º de Ingeniería en Informática. La práctica consiste en crear una Shell o Intérprete de Comandos para linux en C, el enunciado dice así:
Enunciado
Realice un programa que liste los ficheros del directorio en curso y después muestre por pantalla el mensaje FIN DE PROGRAMA.Realice un interprete de comandos reducido. La función básica de este interprete de comandos será pedir un comando o programa, ejecutarlo y volver a pedir otro comando. El programa terminará cuando se teclee el comando FIN.
El ordinograma del programa será:
Requisitos:
a) Los comandos o programas se ejecutarán poniendo la ruta absoluta
b) Si el comando o programa no tiene ruta absoluta se supondrá que se encuentra en el directorio
directorio /bin.
c) Si el comando o proceso no se ejecuta correctamente se visualizará el mensaje de error.
d) El interprete de comandos quedará bloqueado hasta que termine el programa .
e) El interprete de comandos tendrá el siguiente prompt :
#@>
OPCIONAL:
f) Permitir que ejecute un comando o programa en segundo plano si el programa termina con &.
g) Cualquier otra opción se valorará
Después de todo esto, finalmente mi shell cumple todos los requisitos, y además le añadí una serie de extras como por ejemplo tuberías ( pipes ) , redireccionamiento de entrada y salida… etc.
Aquí tenéis la documentación y el código, espero que os sea de utilidad.
mayo 31st, 2021 on 8:59
Everything is very open with a precise explanation of the issues. It was definitely informative. Your site is useful. Many thanks for sharing!
junio 30th, 2021 on 7:03
very few websites that happen to be comprehensive below, from our point of view are undoubtedly well worth checking out.
agosto 12th, 2021 on 8:44
This website certainly has all the information and facts I needed concerning this subject and didn’t know who to ask.
agosto 20th, 2021 on 8:59
This blog was… how do you say it? Relevant!! Finally I have found something which helped me. Kudos!
marzo 29th, 2022 on 9:08
There’s definately a great deal to find out about this issue. I love all the points you’ve made.
junio 8th, 2023 on 19:52
you have a fantastic blog here! would you prefer to make some invite posts on my weblog?