Skip to content

dantol29/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

miniSHELL😸

Fully functional shell for your command-line needs!

Screenshot

How to compile

make && ./minishell

Introduction

🔥miniSHELL is a compact yet powerful shell application designed to provide a seamless command-line experience. Whether you're a seasoned developer or a casual user, miniSHELL offers a range of features to enhance your workflow, from basic command execution to advanced functionalities like redirections and environment variable management.

Note: The codebase follows the norms specified by Norminette.

Features

☑️ Command Execution:

Execute basic commands like ls, echo, cat, etc.
Support for command-line arguments and options.

☑️ Redirections:

Redirect input and output using <, >, >>.
Handle redirections with pipes (|).

☑️ Environment Variables:

Set and unset environment variables using export and unset.
Interpret and expand environment variables in commands.

☑️ Built-in Commands:

Implement built-in commands such as cd to change directories.
Handle echo with support for special characters.

☑️ Error Handling:

Provide meaningful error messages for various scenarios.
Proper exit status handling for child processes.

☑️ Control Flow:

Support for pipes in command execution.
Manage command execution in pipelines.

☑️ Heredoc:

Implement heredoc functionality for multiline input.
Handle interruption with Ctrl+C and Ctrl+\.

☑️ Signal Handling:

Respond appropriately to signals like Ctrl+C.

Usage

To use miniSHELL, simply compile the application using the provided instructions and run the executable. Once launched, you can start entering commands and leveraging the various features offered by miniSHELL.

About

Custom bash using pure C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published