Question: Writing a Simple Shell A shell is a program that takes your commands from the keyboard and passes them to the operating system. Typically, a
Writing a Simple Shell
A shell is a program that takes your commands from the keyboard and passes them to the operating system. Typically, a shell presents a prompt, waiting for the user to enter a command and its parameters. The shell reads the command and parameters, and uses fork to create a child, a duplicate of itself, another shell. The child shell executes the command and exits while the parent waits for the child to finish like the following:
while ( 1 ) { //repeat forever type_prompt(); //display prompt on screen read_command ( command, parameters ); // read input from terminal if ( fork() != 0 ) // parent wait ( NULL ); //wait for child else{ execve ( commamd, parameters, 0 ); // execute command } } |
Work to do:
- Write a simple shell like the above but it contains enough code that it actually works so you can test it. For simplicity, you may assume that all commands are in the directory /bin.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
