Criação de um interpretador simples em C

Iniciado por phermitheus, 17 de Abril de 2009, 12:12

tópico anterior - próximo tópico

phermitheus

Boas tardes pessoal, tenho um trabalho de programação que é o seguinte:´

Escreva um programa em linguagem C baseado nas funções fork() + exec () que simule um interpretador de comandos (shell) simples. Por simples entende-se que aceita e executa um único comando de cada vez, possivelmente com opções/argumentos (ex. ls-al/bin), mas não suporta redireccionamento de entrada "<" e saída ">", utilização de pipes "|" e execução em plano de fundo "&".
O programa deve operar num ciclo contínuo com os seguintes passos:
•   Imprimir uma "prompt" constituída pelos caracteres ">>";
•   Aceitar do utilizador um comando com opções/argumentos e executa-lo;
•   Terminada a execução do comando ou ocorrido um erro, voltar a (i)
No caso de ter ocorrido um erro (por exemplo devido a comando inexistente) e o comando não tiver sido executado, deve ser imprimida uma mensagem de erro. No caso especial do utilizador dar o comando "terminar", o programa deve terminar regressando à shell original. O programa deve ser dimensionado para aceitar um comando com até 80 caracteres e 20 opções/argumentos.
Pondere quais as funções e bibliotecas de sistema/biblioteca que vai utilizar no programa e consulte as respectivas man pages para se informar dos detalhes de funcionamento de cada uma.


Estou a zeros nisto, se alguém me poder dar umas dicas agradecia.

Abraços
CF