For this project, I developed a POSIX-compliant shell capable of interpreting and executing shell commands. The shell supports both external programs and built-in commands such as cd, pwd, echo, and more. Throughout this project, I gained expertise in shell command parsing, Read-Eval-Print Loop (REPL) design, and the implementation of built-in commands.
- Command Parsing: Handles various shell commands and arguments.
- REPL Implementation: Continuously reads and executes user inputs.
- Built-in Commands: Includes cd, pwd, echo, and type.
Run the psh script to start the shell. Use commands like echo
, pwd
, cd
, and type
.
- Command History: Navigate through previously entered commands.
- Advanced Parsing: Support for piping and redirection.
- Custom Prompt: Customizable shell prompt.
- Configuration File: User-specific settings and startup commands.
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (git checkout -b feature/improvement).
- Make your changes.
- Commit your changes (git commit -am 'Add new feature').
- Push to the branch (git push origin feature/improvement).
- Create a new Pull Request.
This project is licensed under the MIT License - see the LICENSE.md file for details.