A simple shell

Completado Publicado Nov 8, 2004 Pagado a la entrega
Completado 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

Ingeniería Linux MySQL PHP Arquitectura de software Verificación de software UNIX

Nº del proyecto: #3423428

Sobre el proyecto

4 propuestas Proyecto remoto Activo Nov 9, 2004

Adjudicado a:

blackstargb

See private message.

$25.5 USD en 5 días
(64 comentarios)
6.0

4 freelancers están ofertando un promedio de $30 por este trabajo

Premshanks

See private message.

$34 USD en 5 días
(335 comentarios)
6.4
esixoft

See private message.

$46.75 USD en 5 días
(29 comentarios)
5.0
clidevw

See private message.

$42.5 USD en 5 días
(17 comentarios)
4.3
greatars

See private message.

$4.25 USD en 5 días
(7 comentarios)
0.8