The goal of this project is to build a simple shell interpreter which behaves similar to common shells including bash and csh. The project has been divided into parts. Some skeleton code has been provided. Much of the provided code uses C style data structure.
Part 1 involves writing a scanner and parser for your shell using the open source versions of Lex and Yacc (Flex and Bison). Part 1 is mostly completed.
Part 2 involves adding features that make the shell more useful and featured.
For example, Ctrl-C will need to be implemented. In many other shells, you can type Ctrl-C to stop a running command. If Ctrl-C is typed when no command is running, the current prompt is discarded and a fresh prompt is printed. As-is, your shell will simply exit when Ctrl-C is typed and no command is running. The implemented shell will need to behave as csh does with respect to Ctrl-C.
Other features that will need to be implemented into the shell are Exit. When Exit is called, the shell will be exited.
Subshells will also need to be implemented. Sometimes a user will need to run a complex command that uses the output from one shell command as the input of another.
Part 3 of the project involves adding a few more major features to the shell. You will allow for the parser to expand a few types of input, handle wildcards, and implement a line editor that allows you to do things like fixing typos and traversing a history of previously submitted commands.
Please feel free to message to get the full scope of this small project.
12 freelancers are bidding on average $145 for this job
I have understood what you need exactly. Ready to start work right now and will complete it by this weekend successfully. Please contact me. Thanks. Donnie
Dear Sir! Nice to meet you. I had developed several web sites using C++ and C#. I am good at C frameworks and MFC and API. Please check my portfolio, then you will choose me. Thanks.
I have expertise in C/C++ and can easily finish this project in good time. Please send me more details about this work. I am placing a low bid to get my first project on freelancer.