- Write a beautiful code that passes the Betty checks
- Write a UNIX command line interpreter
- Handle command lines with arguments
- Handle the PATH (fork must not be called if the command doesn’t exist)
- Implement the exit built-in, that exits the shell
- Implement the env built-in, that prints the current environment
- Write your own getline function
- Do not allowed to use strtok
- Implement the setenv and unsetenv builtin commands
- Implement the builtin command cd
- Handle the commands separator
- Handle the && and || shell logical operators
- Implement the alias builtin command
- Handle variables replacement
- Handle comments (#)
- Usage: simple_shell [filename]