This shell was written for Fall 2020 - Operating Systems course in C++.
- navigate to project folder
./ash
- run
make -f makefile
or simplymake
to compile the code. - run
./ash
- note that the code utilises the GNU readline library for history and reading command input.
- prompt message with current working directory
- pipelining multiple commands
- support for various built-in commands (see Built-in Commands)
- common aliases such as
ls --color=auto
anddf -h
- a history of recent commands
- conversion of
~/
to$HOME/
- parameter passing
- inter-process communication using shared memory between shells
- batch mode and interactive mode
ctrl+D
termination andctrl+C
abortion
help
displays a help screen with a list of available commandscd [path]
changes directory, supports~/
pwd
prints workings directory in colourshid
prints the shell id assigned by usersend [shid] [message]
sends a message to the other terminalreceive
reads all unread messages from the other terminalclear
clears terminal outputhistory
prints a history of recent commandsquit
leaves the terminal (with a message)