8000 GitHub - aouichou/minishell: Custom shell in C supporting redirections, pipes, and custom signals
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

aouichou/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minishell

42Paris School Project

Language Status Score

About the Project

minishell is a custom shell implementation in C, developed as part of the 42Paris curriculum. This project helped me appreciate the work done by the older generation of developers, gain a better understanding of how the shell works, and solidify my knowledge and skills in C and shell programming.

Features

  • Display a prompt when waiting for a new command.
  • Working command history.
  • Execute commands based on the PATH variable or using relative/absolute paths.
  • Handle single and double quotes.
  • Implement redirections (<, >, <<, >>).
  • Implement pipes (|).
  • Handle environment variables ($).
  • Handle special variables ($?).
  • Handle ctrl-C, ctrl-D, and ctrl-\ like in bash.
  • Built-in commands: echo, cd, pwd, export, unset, env, exit.

Technical Details

  • Language: C
  • External Libraries: readline
  • System Calls: fork, execve, pipe, dup2, signal, etc.

Getting Started

Prerequisites

  • GCC or any C compiler
  • GNU Make

Installation

  1. Clone the repository:

    git clone https://github.com/Agrippa2023/minishell.git
    cd minishell
  2. Build the project:

    make

Usage

Run the shell:

./minishell

Project Structure

  • src/: Source files
  • include/: Header files
  • libft/: Custom C library used throughout the 42Paris curriculum
    • Contains various utility functions like ft_atoi, ft_strlen, ft_split, etc.
  • Makefile: Build script

Screenshots

minishell Prompt minishell Commands

Acknowledgements

This project was developed as part of the 42Paris curriculum. Special thanks to the 42 community for their support and resources.

License

Distributed under the MIT License. See LICENSE for more information.

Connect with Me

amine ouichou

About

Custom shell in C supporting redirections, pipes, and custom signals

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0