A POSIX-compliant shell implementation in Go, featuring built-in commands and external program execution capabilities. This project is part of the CodeCrafters "Build Your Own Shell" challenge.
- Interactive command-line interface
- Built-in command support
- External program execution
- Path resolution
- Home directory expansion
- Error handling and status reporting
- Go 1.22 or higher
- Git
Command | Description | Example |
---|---|---|
exit [code] |
Exit the shell with status code | exit 0 |
echo [text] |
Display text to stdout | echo Hello |
type [command] |
Show command type | type echo |
pwd |
Print working directory | pwd |
cd [directory] |
Change directory | cd ~/Documents |
- Command history and search
- Tab completion with smart suggestions
- Pipeline support (
|
,>
,>>
) - Background process handling (
&
) - Signal handling (
Ctrl+C
,Ctrl+Z
)
- The awesome folks at Codecrafters