This assignment requires you to write a shell program that will display a list of commands. When a command is selected from the list it is executed. For example, the list may contain
ls ls -lIf the command
ls
is selected, then it will be run showing the
listing of files in the current directory.
Each command should be run asynchronously, so that selecting another command from the list will cause it to run.
The list should be shown using an X Windows application
called xselect
which will show the list like this:
runit
, for example) will run
with either no parameters or one parameter. This parameter will be the name of a
file containing a list of commands. If no file is specified on the command line,
then it will default to the file .runitrc
in your home directory.
The list of commands should be stored in the file, one per line.
xselect
reads lines of text from standard input. It
shows the input in a list, one line per element of the list. When an item of the
list is selected by clicking on it, the line is sent to standard output.
When the Quit
button is pressed, xselect
will
exit.
runit
is called with more than one argument, an error message should be
printed and execution terminated. If the file used does not exist, an error
should also be reported and execution terminated.
give
.
This command runs with two parameters.
The first parameter should be the string ``a1'' and the second should be the
name of the file containing your shell program. For example,
give a1 runit
You may run give
any number of times.
Each time you run give
it replaces any
earlier submission of the assignment.