Excited to share a deep dive into my latest project: a custom, fully POSIX-compliant Java Mini Shell! 💻 This project demonstrates a robust understanding of operating system interfaces and low-level command processing, all built on modern Java. ✨ Current Features This shell provides core functionality comparable to standard terminal environments: Built-in Commands: Essential commands are implemented natively, including exit, echo, type, pwd, and cd (which supports absolute paths and the home directory shortcut ~). External Execution: It successfully searches the system's PATH to find and execute external programs (e.g., ls, grep). Command Pipelines: Supports complex command chaining using the pipe operator (|), routing the standard output of one command to the standard input of the next. I/O Redirection: Comprehensive support for redirecting or appending standard output (>, >>, 1>, 1>>) and standard error (2>, 2>>) to files. 🛠️ Technology Stack & Supported Devices The project is built on Java Development Kit (JDK) 25 and uses Apache Maven for dependency management. As a Java application, it is inherently cross-platform. We currently include dedicated launcher scripts for: POSIX Systems (Linux, macOS, etc.) via Shell.sh. Windows via Shell.bat. But currently some external commands do not work on windows due to some logical differences between Windows and Linux but will be solved in sometime. 🚀 Future Goals While the current version is functional and robust, the roadmap includes adding more advanced shell capabilities to enhance its utility: Variable Expansion: Implementing support for shell variables and environment variable substitution (e.g., $HOME, $USER). Job Control: Adding support for background process management, allowing commands to be run asynchronously (&) and controlled with fg/bg. Scripting Control Flow: Introducing structures like if, else, and while loops to enable basic shell scripting within the environment. I'm incredibly proud of the work on this project and excited to see how it develops! Feel free to leave a comment with your thoughts or suggestions! #Java #ShellProgramming #POSIX #SoftwareDevelopment #OpenSource #JDK25
More Relevant Posts
-
Java repo is updated now with a new Java project, SIG: System Information Gathering. A CLI program is a simple system information gathering tool that allows users to collect a variety of information about their system, including hardware and software details. You may find a useful information there, check the link below 👇 https://lnkd.in/d_KfjX8d #Java #OOP #InformationGathering #JavaDeveloper
To view or add a comment, sign in
-
Java Enterprise Deployment There are two methods to deploying Java Clients, using MSI or Offline Installation files. This guide will step you through the process of gathering and using both. Offline EXE Silent Installation Instructions You will need to use the Offline Installer that is available from the Java website and then add on the parameters that you require for […] Read our detailed article about his on our official website here: https://lnkd.in/eSxViSVJ Check out our socials for more content, links in bio. Tags: #Guide #Java #MSI #Deployment #Guide #Java #Microsoft #MSI #SCCM #SilentInstaller
To view or add a comment, sign in
-
Java Enterprise Deployment There are two methods to deploying Java Clients, using MSI or Offline Installation files. This guide will step you through the process of gathering and using both. Offline EXE Silent Installation Instructions You will need to use the Offline Installer that is available from the Java website and then add on the parameters that you require for […] Read our detailed article about his on our official website here: https://lnkd.in/e2qwWPDd Check out our socials for more content, links in bio. Tags: #Guide #Java #MSI #Deployment #Guide #Java #Microsoft #MSI #SCCM #SilentInstaller
To view or add a comment, sign in
-
Java Enterprise Deployment There are two methods to deploying Java Clients, using MSI or Offline Installation files. This guide will step you through the process of gathering and using both. Offline EXE Silent Installation Instructions You will need to use the Offline Installer that is available from the Java website and then add on the parameters that you require for Continue reading Read our detailed article about this on our official website here: https://lnkd.in/eKCt6Aqc Check out our socials for more content, links in bio. Tags: #Evergreen #Guide #Java #MSI
To view or add a comment, sign in
-
Java Enterprise Deployment There are two methods to deploying Java Clients, using MSI or Offline Installation files. This guide will step you through the process of gathering and using both. Offline EXE Silent Installation Instructions You will need to use the Offline Installer that is available from the Java website and then add on the parameters that you require for […] Read our detailed article about his on our official website here: https://lnkd.in/ei8BMzaB Check out our socials for more content, links in bio. Tags: #Guide #Java #MSI #Deployment #Guide #Java #Microsoft #MSI #SCCM #SilentInstaller
To view or add a comment, sign in
-
Understanding Java's Core: JVM, JRE, & JDK If you've ever worked with Java, you've likely encountered these three acronyms. But what do they really mean, and why are they important? Let's break it down! Think of them as a set of nested boxes: 🔥 JVM (Java Virtual Machine): The Engine This is the smallest, innermost box. The JVM is the actual "machine" that runs your compiled Java code (bytecode). Its Superpower: "Write Once, Run Anywhere." The JVM translates your Java program into instructions specific to the computer's operating system (Windows, Mac, Linux). You can't download it separately; it's part of the JRE. 🏃 JRE (Java Runtime Environment): The Runner This box contains the JVM, plus all the core libraries and resources needed to run a Java application. Who needs it? End-users! If you just want to run a Java-based application (like an older version of Minecraft, for example), you only need the JRE. Formula: JRE = JVM + Core Libraries 🛠️ JDK (Java Development Kit): The Builder's Toolkit This is the largest, outermost box. It contains everything in the JRE, plus the development tools required to write, compile, and debug Java applications. Key Tools: javac: The Java Compiler (transforms your human-readable code into bytecode). jdb: The Debugger. Who needs it? Developers! If you're writing Java code, you need the JDK. Formula: JDK = JRE + Development Tools Understanding these core components is fundamental for any Java developer. Hope this helps clarify!
To view or add a comment, sign in
-
-
Java Enterprise Deployment There are two methods to deploying Java Clients, using MSI or Offline Installation files. This guide will step you through the process of gathering and using both. Offline EXE Silent Installation Instructions You will need to use the Offline Installer that is available from the Java website and then add on the parameters that you require for Continue reading Read our detailed article about this on our official website here: https://lnkd.in/eTWCV9fX Check out our socials for more content, links in bio. Tags: #Evergreen #Guide #Java #MSI
To view or add a comment, sign in
-
Java Enterprise Deployment There are two methods to deploying Java Clients, using MSI or Offline Installation files. This guide will step you through the process of gathering and using both. Offline EXE Silent Installation Instructions You will need to use the Offline Installer that is available from the Java website and then add on the parameters that you require for Continue reading Read our detailed article about this on our official website here: https://lnkd.in/eEX4PuAb Check out our socials for more content, links in bio. Tags: #Evergreen #Guide #Java #MSI
To view or add a comment, sign in
-
Azul’s Platform Core is a cost-effective alternative OpenJDK distribution. It provides all necessary backported security fixes and bug fixes, and it’s priced based on the number of cores or desktops being used, so it reflects the actual amount of Java being used. If you’re using Oracle Java 21, the clock is ticking. #Java #JDK #OpenJDK
To view or add a comment, sign in
-
Azul’s Platform Core is a cost-effective alternative OpenJDK distribution. It provides all necessary backported security fixes and bug fixes, and it’s priced based on the number of cores or desktops being used, so it reflects the actual amount of Java being used. If you’re using Oracle Java 21, the clock is ticking. #Java #JDK #OpenJDK
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development