A simple, cross-platform shell (command-line interpreter) written in Java.
Supports command execution, cd navigation, input/output redirection (>, <), and single piping (|), all compatible with Windows CMD, PowerShell, and Git Bash.
This project simulates a Unix-style shell using Java. It allows users to execute shell commands, manage directories, and handle redirection and pipesโteaching core Operating System concepts like:
- ๐ถ Process Creation (fork()+exec()equivalent usingProcessBuilder)
- ๐ Input/Output Redirection
- ๐ง Pipe Handling
- ๐ Directory Management
- ๐งต Process Synchronization (waitFor())
โ
 Custom prompt: mysh>
โ
 Supports Windows commands like dir, type, echo, findstr
โ
 cd command implemented manually
โ
 Handles:
- Standard output redirection: echo Hello > out.txt
- Standard input redirection (limited): somecommand < file.txt
- Piping: type file.txt | findstr Hello
javac MyShell.java CommandExecutor.java
java MyShell