0,0 → 1,46 |
Student Information |
------------------- |
Kevin Lee - klee482 - group244 |
|
|
How to execute the shell |
------------------------ |
The shell can be started by running ./esh |
Basic functionality can be tested by running ./stdriver.py -b |
Advanced functionality can be tested by running ./stdriver.py -a |
|
|
Important Notes |
--------------- |
A more comprehensive test for exclusive access can be done by |
running/suspending vim from inside the shell. |
|
|
Description of Base Functionality |
--------------------------------- |
The shell implements the following built in commands: jobs, fg, bg, kill, stop. |
The shell also implements \^C and \^Z to stop and suspend foreground |
processes. For each specified pipeline (seperated by ;), the first command |
is checked to see if it is a built in command. If it is, the built in command is |
executed and all following commands in the pipeline are ignored. The command |
jobs outputs a list of all background jobs and the state of each job along with |
a job ID. The job ID can then be used by commands fg, bg, kill, and stop. \^C |
kills the current foreground job (including the esh shell) and \^Z suspends the |
current foreground job. |
|
|
Description of Extended Functionality |
------------------------------------- |
The shell also implements I/O redirection, pipes, and exclusive access. |
Multilpe commands can be chained together using '|' so that the output of |
the first process goes to the input of the second process. I/O redirection |
is also implemented so that a file can be used as the imput to the first |
command using '<' . The output of the last process can be directed to a file |
as well using '>'. Appending the output to the specified file works as well |
with '>>'. Exclusive access is also implemented using process groups and |
terminal access to allow programs such as vim to work. |
|
|
List of Plugins Implemented |
--------------------------- |
N/A |