Write a c program that implements a shell

Assignment Help Basic Computer Science
Reference no: EM13548737

Write a C program that implements a shell. The shell program should operate in the following basic way: when you type in a command (in response to its prompt), the shell creates a child process that executes the command you entered and then prompts for more user input when it has finished.


The shell program is essentially a loop that performs the following steps:
1. Print the command prompt.
2. Read the command line (e.g, "ls -a -l").
3. Parse the command line into tokens consisting of the executable file name ("ls") and its
arguments ("-a" and "-l").
4. Fork a child process, which executes the command.
5. Wait for the child to terminate.
When parsing the command line, store the tokens in an argument vector, say argvec[], which is an
array of pointers to strings. For example, if the command line is "ls -a -l" then:
argvec[0] = "ls",
argvec[1] = "-a", and
argvec[2] = "-l".
Make sure to terminate the array of pointers by a NULL pointer - i.e.:
argvec[3] = NULL.

After parsing the command, fork a child process that will then perform an execvp() to execute the
command. Pass the argument vector that you built as an argument to function execvp()

In shells (such as tcsh or bash) the history command is a builtin shell command - it is implemented
within the shell itself and does not correspond to a separate system program. Enhance your shell program
by adding a history feature. Number the commands in the history list according to its order of occurrence since the beginning when your shell program was invoked.



1. Your C source code
2. A makefile for source code
3. A README file describing program

Reference no: EM13548737

Questions Cloud

What was the speed of the cart just before it hit the spring : A 12 kg runaway grocery cart runs into a spring with spring constant 240 N/m and compresses it by 60 cm. What was the speed of the cart just before it hit the spring?
Obtain the index of refraction of the substance : A laser beam is traveling through an unknown substance. When it encounters a boundary with air, the angle of reflection is 22.4° and the angle of refraction is 40.0°. What is the index of refraction of the substance
Explain the same sample of nitrogen to nitrogen dioxide : A sample of 15 g of nitrogen can be combined with 17.142857 g of oxygen to form nitric oxide gas (NO). What mass of oxygen would be required to convert the same sample of nitrogen to nitrogen dioxide (NO2) instead
The radar system transmits : The radar system transmits 18.75 GHz from a circular antenna with a diameter 2.3m. at a range of 6.2km, what is the smallest distance that two speedboats can be from each other and still be resolved as two objects?
Write a c program that implements a shell : Write a C program that implements a shell.
Explain aluminum has many different isotopes : Aluminum has many different isotopes. What percentage of the mass of 26Al is attributable to its neutrons
Determine whether calvin should make or buy ekrobs : Prepare an incremental analysis to determine whether Calvin should make or buy ekrobs.
Determine the angle that locates the first minimum : high-frequency sound waves exhibit less diffraction than low-frequency sound waves do. Determine the angle that locates the first minimum to either side of the central maximum in the diffraction pattern for the sound
Explain what percentage of the mass of 26al is attributable : Aluminum has many different isotopes. What percentage of the mass of 26Al is attributable to its neutrons

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Why motherboard sometimes support more than one speed

Why does motherboard sometimes support more than one system bus speed? So that it can support different processors running at different speeds.

  Explaining laws dealing with computer crimes

Write and explain three recent laws dealing with computer crimes.

  Write a java program that declares an array alpha

Initialize the array so that the first 25 elements of array are equal to the square of the index variable, and the last 25 elements are equal to three times the index variable. Output the array so that 10 elements per line are printed on the conso..

  What is the sum after the following loop terminates

What is the sum after the following loop terminates

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Explain how risc-pipelining evolved over past years

Explain how concepts such as RISC, pipelining, cache memory, and virtual memory have evolved over the past twenty-five years to improve system performance.

  Explain hardware to gather the essential information

Write down a 2-3 page paper explaining the hardware and software utilized to support personal, workgroup, and enterprise computing in the present organization.

  To perform queries

To perform queries on a relational database system using SQL? To demonstrate an advanced knowledge of stored procedures, stored functions and triggers.

  Calculate net pay and totals from the inputs provided

Write a program to calculate Net Pay and Totals from the inputs provided below. The program should use a loop & prompt user for inputs shown.

  Decimal ascii number with an implied decimal point

Write a procedure named WriteScaled that outputs a decimal ASCII number with an implied decimal point.

  Classify occurrences as an incident or disaster

Classify each of the following occurrences as an incident or disaster. If an occurrence is a disaster, determine whether or not business continuity plans would be called into play.

  Create two constructors

Create two constructors (default and initialization), accessor (get/set) methods, a printInfo method, a toString method, a method deposit that will increase the balance by a specified amount returning nothing.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd