Skip to content

A simple Unix shell implementation in C. Supports basic commands, piping, redirection, and signal handling. Ideal for learning shell scripting and process management. It's a 42 School Project.

Notifications You must be signed in to change notification settings

ruzafa8/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minishell

A simple Unix shell implementation in C. This project supports basic commands, piping, redirection, and signal handling. It's an ideal project for learning shell scripting and process management.

Features

  • Execute basic Unix commands
  • Handle command piping (|)
  • Support for input and output redirection (<, >, >>)
  • Support for heredoc (<<)
  • Signal handling (e.g., Ctrl+C)
  • Simple history of command
  • Built-ins such as cd. pwd. env, export, unset, ...

Getting Started

Prerequisites

  • GCC (GNU Compiler Collection)
  • Make

Installation

Clone the repository:

git clone https://github.com/ruzafa8/minishell.git
cd minishell

Compile the minishell:

make

Usage

Run the minishell:

./minishell

Examples

  • Running a basic command:

    minishell$ ls -l
  • Using command piping:

    minishell$ ls -l | grep minishell
  • Redirecting output to a file:

    minishell$ echo "Hello, World!" > hello.txt

About

A simple Unix shell implementation in C. Supports basic commands, piping, redirection, and signal handling. Ideal for learning shell scripting and process management. It's a 42 School Project.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published