Question: Description: Your task is to write a UNIX - like shell program that works in our Linux machine in Lab FH 1 3 3 E
Description:
Your task is to write a UNIXlike shell program that works in our Linux machine in Lab FH E A shell is a command line interface for users.
It accepts user commands and execute them. Under the hood, a shell is just another user program. For examples, binshbinbashbintcsh etc.,
are popular shells in UnixLinux systems. In this assignment, you will implement your own shell, named as "myshell".
automatically support most Linux shell commands.
pathname environment as you should construct and maintain your own pathname environment in this project.
Part: Buildin commands:
cd: is a command that changes directories. You should use chdir system call to achieve it
path: is not only a command that shows the current command searching pathname environment if no argument is given but also a utility to modify the pathname environment.
path without argument: display the current pathname environment, egbin:sbin Note, your shell starts with an empty pathname environment.
path abcdef: appends directory abcdef to the end of the pathname environment.
path abcdef: removes pathname abcdef from the pathname environment if it exists. Otherwise, do nothing.
quit: a command to terminate your shell.
command.
README and makefile: must be a text file not a PDF docx, or rtf
contribution. If a group member contributes she or he will receive zero even if the other group partner scores
Document your design ideas in this README file.
Provide instructions how to compile your code, and how to run your program.
Provide a sample test output again in text format
Provide a statement if your code contains any bugs or miss a certain component.
You must provide a makefile such that the grader can compile your code by simply typing "make".
performed via system calls, including open close The library calls such as fopen fread are not allowed in this project.
Grading criteria:
Please make sure your program compiles, otherwise your submission will not be graded and you will receive zero.
Point deduction rule:
Compile warning: points each.
Minor error: such as not meeting the inputoutput requirements, or folder name is not compliant with the specification, points each.
Major error: examples include, infinite loop, runtime errors, unexpected program termination, any segmentation fault, points each.
points Buildin commands:
Functional cd and quit commands
Correct path operations with or without arguments
points General shell operations:
The shell starts with an empty pathname environment no command should work
After bin is added, Linux shell commands should be supported
The shell should respond correctly and gracefully to any unsupported commands, including typo
points IO redirection:
Correct input redirection
Correct output redirection
Correct input and output redirection at the same time
points README and Makefile:
README should contain sufficient information, including the compile instruction, execution instruction, and an output example.
Submission:
Create a folder with the name of your group number all lowercase and concatenate it with p For example, if the group is "group then the folder should be "group
Copy all source files, c and h into the folder that you created. Also copy the README and makefile to the folder.
Log in grail server, change the directory to the parent of the folder created above and run the following submission command suppose the submission folder is "groupp:
turnin c cisw p p groupp
If the submission is successful, you should see:
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
