This project objective is to replicate the functionalities of the tcsh shell.
- Command Line Interface: Interact with the system through a command prompt.
- CHAT GPT BUILT-IN: Interact with chat gpt directly through your shell using
gptcommand with bonus binary. - Builtin Commands: Execute basic commands like
cd,pwd,echo,exit, and more. - Environment Variables: Manage environment variables with
set,unset, andenv. - Command Arguments: Pass arguments to commands for customization.
- Redirection: Redirect input (
<) and output (>) of commands for file manipulation. - Pipes: Combine commands using pipes (
|) for data flow. - History: Keep track of your old commands.
- Globbing: wildcard expansion in filenames. It allows you to match multiple files using patterns like * (any character) and ? (any single character).
- Functional Test Generator: easily generate functional tests using our bash test generator.
- Job control: Manage running processes (start, stop, background execution).
- Aliases: Often used to shorten a long or complex command.
- Line Edition: Edit and modify commands in the terminal before hitting enter.
- Tab Completion: Type faster and avoid typos by using auto-completion with
tabkey.
- Language: C
- Compilation: Compile using Makefile (
make). - Execution: Run the compiled executable (
./my_shell). - Group Size: 5
- Project Duration: 4 Weeks
This project was completed as one of the projects for first-year students at École pour l'informatique et les nouvelles technologies (Epitech). It serves as an exercise in understanding and implementing fundamental concepts in C programming and serves as a stepping stone for students to gain proficiency in system programming.
This project is licensed under the MIT License - see the LICENSE file for details.
