smallsh is a shell program that implements a subset of features of well-known shells, such as Bash.
After cloning the repo or downloading and extracting the source files, navigate to the project folder in the terminal and use the Makefile to compile the project by using the following command:
make
To remove the object files and the executable, navigate to the project folder in the terminal and use the following command:
make clean
For Windows users, it is recommended to use WSL (Windows Subsystem for Linux) to provide a Unix-like environment. Once WSL is set up with your preferred Linux distribution, follow the Unix installation instructions above.
Once the program has been compiled, it can be run in the terminal via the following command:
./smallsh
To exit the program, type exit
and press Enter/Return
.
Executes status
, cd
, and exit
via code built into the shell and other commands via new processes forked by the exec family of functions:
Uses custom handlers for 2 signals, SIGINT and SIGTSTP, to terminate foreground child processes or toggle foreground-only mode by pressing Ctrl-C
or Ctrl-Z
respectively:
Any and all feedback is greatly appreciated. If you have a suggestion to improve this project, feel free to leave your thoughts in the Discussions Tab!
Distributed under the GNU General Public License v3.0. See LICENSE for more information.