Simple Shell

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