This project is a C++ console shell that simulates a simplified Unix-like command-line interface. It allows users to enter commands, execute them in sequence or through pipes, and perform basic file operations. The shell supports command history, enabling users to access and re-execute previous commands.

The system is built using object-oriented programming principles with a modular architecture. Each command is implemented as a separate class, making it easy to extend and maintain. A parser handles user input, correctly splitting commands, arguments, and pipelines, while the shell also supports custom commands beyond standard ones. Users can perform operations such as echoing text, reading or writing files, counting characters, and chaining multiple commands with pipes. The design emphasizes a clear separation of responsibilities, with dedicated classes for command execution, parsing, input/output, and shell control. The shell can handle multiple commands in sequence, ignore invalid input, and repeat operations from history.

This project demonstrates practical application of C++ OOP concepts, modular design, and command-line interface programming, providing a foundation for further development or adaptation to more advanced shell functionalities.

Built With

Share this project:

Updates