Skip to content

Latest commit

 

History

History
43 lines (35 loc) · 1.11 KB

File metadata and controls

43 lines (35 loc) · 1.11 KB

Tinyshell

As beautiful as a shell!

install:

git clone [email protected]:dwbessa/42cursus_tinyshell.git && cd tinyshell

Usage:

make && ./tinyshell

We had to incorporate the following features:

  • Display a promt while waiting for a new commmand.
  • Have a working history.
  • Find and launch executables (using the PATH variable or an absolute path).
  • Handle ' (single) and " (double) quotes like in bash.
  • Implement redirections such as:
    • < redirect input.
    • > redirect output.
    • << heredoc (doesn't affect history).
    • >> redirect output in append mode.
  • Implement | (pipes).
  • Handle environment variables.
  • Handle $?.
  • ctrl-C, ctrl-D, and ctrl-\ should behave like in bash.
  • Recreate the following builtins:
    • echo with option -n.
    • cd with only a relative or absolute path.
    • pwd (no flags).
    • export (no flags).
    • unset (no flags).
    • env (no flags or arguments).
    • exit (no flags).

Authors