Go solution to Coding Challenges Shell
Shell is a program that takes commands from the keyboard and gives them to the operating system to perform. In the old days, it was the only user interface available on a Unix-like system such as Linux. Nowadays, we have graphical user interfaces (GUIs) in addition to command line interfaces (CLIs) such as the shell. (For more details)
Our command line shell supports:
- Basic individual Unix commands (ls, clear, exit ...).
- Commands with arguments (diff, ls, mkdir, cat, curl ...).
- "cd" built-in command to navigate in the system directories.
- Pipe sequence of commands (e.g., cat test.txt | wc -l).
- Handle signals that could interrupt the shell (e.g., Ctrl + C).
- The "history" command.
In the project directory, run go run .
- Add support for running a historic command (ex: allowing the use of the up and down arrows)
- Support variable expansion. (ex: pressing tab)
- Handle scripting