A simple shell

Concluído Postado Nov 8, 2004 Pago na entrega
Concluído Pago na 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

Engenharia Linux MySQL PHP Arquitetura de software Teste de Software UNIX

ID do Projeto: #3423428

Sobre o projeto

4 propostas Projeto remoto Ativo em Nov 9, 2004

Concedido a:

blackstargb

See private message.

$25.5 USD em 5 dias
(64 Comentários)
6.0

4 freelancers estão ofertando em média $30 nesse trabalho

Premshanks

See private message.

$34 USD in 5 dias
(335 Comentários)
6.4
esixoft

See private message.

$46.75 USD in 5 dias
(29 Comentários)
5.0
clidevw

See private message.

$42.5 USD in 5 dias
(17 Comentários)
4.3
greatars

See private message.

$4.25 USD in 5 dias
(7 Comentários)
0.8