Question: Assignment 1- A MyShell Program The Shell or Command Line interpreter is the fundamental User interface to an Operating System. This project is to write

Assignment 1- A MyShell Program

The Shell or Command Line interpreter is the fundamental User interface to an Operating System. This project is to write a simple shell that has the following properties:

1. The shell must support the following internal commands:

i. mycd - change the current default directory to . If the argument is not present, report the current directory. If the directory does not exist an appropriate error should be reported. This command should also change the PWD environment variable.

ii. myclr clear screen

iii. mydir - list the content of directory .

iv. myenviron list all the environment string.

v. myecho - display no the display followed by a new line( multiple space / tabs may be reduced to a single space).

vi. myhelp display the user manual using the more filter.

vii. mypause- pause operation of the shell until Enter is pressed.

viii. myquit quit the shell.

ix. The shell environment should contain shell =/myshell where /myshell is the full path for the shell.

2. All other command line input is interpreted as program invocation which should be done by the shell forking and execing the program as its own child process. The programs should be executed with an environment that contains the entry: parent=/myshell where /myshell is as Described in (ix.) above.

3. Manual is a user manual describing how to use your shell. It should contain enough detail for a beginner to UNIX to use it. For an example of the sort of depth and type of description required, you should have a look at the on-line manual for bash/tcsh. This shell obviously has much more functionality than yours and thus, your manual does not have to be quite so large.

4. The command line prompt must contain the pathname of the current directory.

Programming and Environment:

Language : C

Shell: tcsh

Submission:

Make the following as s17csc521p1_lastname.tar.gz and then submit it to my email. You need to submit the hardcopy also of your documentation in the class:

makefile

manual

- description of operation and commands

- description of environment concepts

- overall layout and display of understanding

source code(myshell.c, etc)

any extra files needed to run your shell program

typescript

documentation

- description of the program

- algorithm

- analysis of your algorithm and output

- performance description

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!