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