A simple shell
$30-5000 USD
Pagado a la entrega
Design and implement a simple, interactive shell program that prompts the user for a command, parses the command, and then executes it with a child process. The shell program must handle commands with arguments, it must search the PATH variable to find a file (using execv() form of exec() system call), and it must provide additional functionality (described below) to manage pipes and concurrency.
When the user types a line such as: **identifier [identifier [identifier]]** the shell should search the UNIX directory tree in the order identified by the PATH variable for a file with the same name as the first identifier, which may be a file name or a full path name. Then the shell should execute that file.
Additional functionalities for the shell program:
**1)** Implement the “&?? modifier so that if the last character on the command line is “&??, the program is executed in parallel with the shell, rather than the shell’s having to wait for it to complete.
**2)** Allow the standard input or output file to be redirected using the “<?? and “>?? symbols.
**3)** The standard output from one program may be redirected into the standard input of another program using the “|?? symbol.
**4)** In this part, the shell should be modified so it handles two of the following three cases on a single command line:
Case1: Redirection
Case2: Pipes
Case3: Putting a process in the background.
The above 4 functionalities can be implemented together (two, three or all four) in a single shell program or separate, in different versions of the shell program.
If any further questions, please let me know.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Unix
Nº del proyecto: #3423428