Simple shell is a group project at ALX SE aimed to write a simple and customized command interpreter. It is designed to mimic sh and provides an interface between the user and the kernel by executing commands.
At the end of this project, learners are expected be able to explain to anyone
- How does the shell works
- What is pid and ppid
- How to manipulate the environment of the current process
- What is the difference between a function and a system call
- How to create processes
- What are the three prototypes of main
- How does the shell use the PATH to find the programs
- How to execute another program with the execve system call
- How to suspend the execution of a process until one of its children terminates
- What is EOF / “end-of-file”?
The code should be compled this way:
$ gcc -Wall -Werror -Wextra -pedantic -std=gnu89 *.c -o hsh
- All codes should pass betty style check
- A Unix command line interpreter
- Handling command line with arguments
- Handling the PATH
- Implementing the exit built-in, that exits the shell
- Implementing the env built-in, that prints the current environment
- Build your own _getline function