Myshell is a project mainly written in C and C++, it's free.
Shell para aula de SO2
MyShell (Nome que o professor Eraldo usava quando mencionava este projeto.)
1 - O Projeto
O projeto foi inicialmente projetado para ser desenvolvido utilizando a metodologia TDD(Test Driven Development), porém por causa de problemas pessoais e falta de tempo o projeto não pode ser implementado desta forma.
O shell implementado possui a maior parte dos recursos básicos, e outros ainda serão implementados.
2 - Recursos implementados
- O shell possui os três comandos internos exigidos;
- O shell é iterativo e só é encerrado após solicitação do usuário;
- O shell permiti a execução de qualquer comando instalado no sistema;
- O shell é capaz de redirecionar a saída de um comando para um arquivo ('>');
- O shell é capaz de redirecionar a saída de um comando e adicionar em um arquivo ('>>');
- O shell pode usar um arquivo como entrada padrão ('<');
3 - Gramática Utilizada
<command_line> : <new_command> <EOL>
<new_command> : (<argument>)+ ["<" <argument>] [">" <argument>] [">>" <argument>]
<argument> : /[^
><|;&]+/