This repository contains my implementation of a custom shell, built as part of the Codecrafters challenge. The shell is written in Java and includes support for various built-in commands and features.
- REPL (Read-Eval-Print Loop) – Interactive command-line processing
- Built-in Commands:
echo– Prints text to standard outputexit– Terminates the shelltype– Identifies whether a command is a built-in function or an executablepwd– Prints the current working directorycd– Changes the current directory- Supports absolute paths (e.g.,
/usr/local/bin) - Supports relative paths (e.g.,
./,../,./dir) - Supports
~for home directory
- Supports absolute paths (e.g.,
- Executing External Programs with Arguments (e.g.,
ls -la,cat file.txt) - Support for Quoting with Single Quotes ('') to preserve spaces
- Add support for double quotes ("")
- Implement environment variable expansion (e.g., $HOME, $PATH)
- Improve error handling and edge case handling
Codecrafters' Build Your Own Shell challenge.