https://github.com/simo-03/java-shell
Lightweight custom shell in Java, built for StudentHack 2025 (1st place individual challenge).
https://github.com/simo-03/java-shell
cli command-line hackathon java shell studenthack
Last synced: 4 months ago
JSON representation
Lightweight custom shell in Java, built for StudentHack 2025 (1st place individual challenge).
- Host: GitHub
- URL: https://github.com/simo-03/java-shell
- Owner: Simo-03
- License: mit
- Created: 2025-04-05T10:40:01.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-07T18:23:22.000Z (about 1 year ago)
- Last Synced: 2025-06-14T11:43:17.290Z (about 1 year ago)
- Topics: cli, command-line, hackathon, java, shell, studenthack
- Language: Java
- Homepage:
- Size: 8.79 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Java Shell 
A lightweight shell implementation written in Java, developed for the StudentHack 2025 hackathon (hosted by the University of Manchester), where it secured 1st place in the individual challenge.
While Java isn't the conventional choice for shell development, this project showcases how it can be leveraged to build a functional, responsive, and feature-rich command-line interface from scratch.
## Features
- Basic command execution with support for external programs
- Output redirection (`>`, `>>`, `2>`, `2>>`)
- Tab autocompletion for commands and file paths
- Built-in commands:
- `echo`: Print text to standard output
- `pwd`: Print working directory
- `cd`: Change directory
- `type`: Display command type information
- `exit`: Exit the shell
- Command history navigation
- Support for command arguments and options
## Running the Shell
1. Ensure you have Java 11 or later installed
2. Clone this repository
3. Compile the project:
```bash
javac Main.java
```
4. Run the shell:
```bash
java Main
```
## Planned Improvements
### Code Refactoring
- [ ] Improve code organization and modularity
- [ ] Implement better error handling patterns
- [ ] Enhance code documentation
- [ ] Optimize performance-critical sections
- [ ] Add comprehensive test suite (planned for future updates)
### New Features
- [ ] Support for command pipelines (`|`)
- [ ] Environment variable management
- [ ] Background process execution
- [ ] Custom prompt configuration
- [ ] Command aliases
- [ ] Script execution support
- [ ] Enhanced error handling and reporting
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.