Executing UNIX commands using a simple shell.
This project consists of designing a C program to serve as a shell interface with parent and child processes running concurrently.
The project consists of two main parts: Creating a child process, and Creating a history feature.
The code can be compiled to produce output and cleaned to remove the output using make
$ make
gcc -pthread shell.c -o shell
$ ./shell
//for cleaning the output
$ make clean
rm -f main
Code is capable of handling the input error cases such as non-existing commands or no commands in history.
for commands
./shell.o
ls -l
ps
date
for history
!!
//the most recent command in history
!4
//the forth recent command in history
for a child process
&
- GCC - The GNU Compiler Collection
- Ubuntu 16.04 LTS - Xenial Xerus
- Ahmed Wael - Github
This project is licensed under the MIT License - see the LICENSE.md file for details.