Learning Project: Custom Minishell Development

Job ID: 38782628

Budget: €30 – €250 EUR

As part of my learning journey, I'm looking for an experienced developer to help me create a custom minishell. This project will not only enhance my understanding of shell programming but also provide you with an opportunity to showcase your expertise.

Key Features:
- Basic command execution: The minishell should be capable of executing fundamental commands.
- File management commands: It should include support for commands that manage files.
- Pipeline support: The minishell must be able to handle pipelines and multiple commands.
- redirections
- Input redirection: Allow redirection of input from a file using '<' operator.
- Output redirection: Support redirection of output to a file using '>' operator.
- heredoc
- follow norminette coding rules: https://github.com/42School/norminette


Please note, the minishell needs to adhere to specific subject rules outlined in a PDF document that I will provide. It needs to pass the go crazy test, the evaluator will test a lot of things on the minishell to be sure it won't crash and is giving the answer that a bash would give even with "crazy things".

Ideal Skills and Experience:
- Previous experience in shell programming is crucial.
- Strong understanding of command execution, file management, and pipeline support.
- Ability to understand and implement based on provided subject rules.

This is a learning project for me, so clear communication and patience will be highly appreciated.

Additionally, the minishell should include signal handling capabilities. Provide detailed error messages for input and output operations. The minishell should be compatible with Linux environments. The developer should provide comprehensive debugging and testing throughout the project. The minishell should also be able to handle environment variables. Include basic signal handling for common signals such as SIGINT and SIGTERM. The minishell should be developed in C. The minishell should include advanced interactivity features such as auto-completion and history tracking. The project should be completed within 1 week."