Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1. write a C program i) using system calls fork, wait, execvp, open, close, dup, dup2, and pipe ii) use Command Line Interpreter (CLI) 2.

1. write a C program i) using system calls fork, wait, execvp, open, close, dup, dup2, and pipe ii) use Command Line Interpreter (CLI)

2. More details A shell is also known as command line interpreter. First, your shell must have a prompt string. You can choose any prompt you like. It may look like the following: PURDUE> ls l In the above example, PURDUE> is the prompt string, ls is a command name, and -l is an argument of the command. The command name is usually the filename of the executable.

3. Shell Language Grammar The following shows the grammar for your users to compose a valid shell command. Program should be able to parse an input line, and decide if the users input is valid or not. In the grammar below, [obj] denotes obj inside [ ] is optional; | denotes Unix pipe; * denotes 0 or >=1 occurrences.. About &: The input command line will be running as a background process. Note that a shell must wait until the program completes unless the user runs a background process (i.e., using &).

5. Programing requirement: your program and shell should support following features:- 1) Program should keep accepting new commands lines until users input exit. Your shell should have a prompt string. 2) A users command line may or may not have < at the beginning. 3) A users command line may or may not have > in the end. 4) There may be up to 9 pipes in a command line (its OK if you want to support more than 9 pipes). 5) A user may run a command line as a background process (i.e., the command line ends with &).

Here are two example command lines that are valid: PURDUE> cat < aaa | more | more | grep 2 | sort | head | wc > bbb & PURDUE> cat < aaa | more | more | grep 2 | sort | head | wc > bbb

Here are two example command lines that are not valid: PURDUE> ls | cat < tmp.txt PURDUE> ls > tmp.txt | more

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

How Do I Use A Database Research Tools You Can Use

Authors: Laura La Bella

1st Edition

1622753763, 978-1622753765

More Books

Students also viewed these Databases questions

Question

Explain all drawbacks of the application procedure.

Answered: 1 week ago

Question

Determine Leading or Lagging Power Factor in Python.

Answered: 1 week ago