Skip to content

Files

Latest commit

b2c68c1 · Sep 19, 2024

History

History
12 lines (8 loc) · 878 Bytes

README.md

File metadata and controls

12 lines (8 loc) · 878 Bytes

creating-bash-in-java

Goal of this project is to implement Bash using Java

  • This includes not only implementing commands from cat, grep, tee, echo, ls and more.
  • But also being able to combine all these commands together in advanced manners such as ls | grep
  • Purpose is to learn how CLI tools like bash works by building it.

Secondary goal is to learn how to test software comprehensively (unit tests, integration tests, mutation tests and more!)

What is a shell or bash?

A shell is a command interpreter. Its responsibility is to interpret commands that the user types and to run programs that the user specifies in her command lines. Figure 1 shows the relationship between the shell, the kernel, and various applications/utilities in a UNIX-like operating system:image