Giter Club home page Giter Club logo

minishell's Introduction

Minishell

Welcome to Minishell! This is a C project that aims to create a simple shell program, providing a command-line interface where users can execute commands and manage processes.

Features

  • Command execution: Execute commands entered by the user, including built-in commands and external programs.
  • Built-in commands: Support for common shell built-in commands such as cd, pwd, echo, and exit.
  • Input/output redirection: Allow input/output redirection using < and > operators.
  • Pipeline and command chaining: Enable the execution of commands in a pipeline or chain using | and ; operators.
  • Environment variables: Support for managing environment variables, including setting, getting, and exporting variables.
  • Signal handling: Proper handling of signals, including Ctrl+C (SIGINT) and Ctrl+Z (SIGTSTP).
  • Job control: Basic job control features, including background execution and managing background/foreground processes.

Getting Started

To compile and run Minishell on your local machine, follow these steps:

  1. Clone the repository:
  2. Navigate to the project directory:
  3. Install the readline library:
  4. Compile the code using a C compiler and link with the readline library:
  5. Run the Minishell program:
  6. You can now start entering commands and interacting with the shell.

Usage

Minishell supports the following built-in commands:

  • cd <directory>: Change the current working directory.
  • pwd: Print the current working directory.
  • echo <message>: Print the specified message.
  • exit: Exit the shell program.

Additional shell features such as input/output redirection, pipeline execution, environment variable management, and job control can be used as part of the command line.

Contributing

Contributions are welcome! If you would like to contribute to Minishell, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with clear and descriptive messages.
  4. Push your changes to your forked repository.
  5. Submit a pull request, explaining your changes and why they should be merged.

Make sure to customize the content to fit your specific project details. Provide clear instructions on how to install the readline library, compile and run the program, explain the available built-in commands and features, and include a contribution guide and contact information for users who want to get in touch with you.

minishell's People

Contributors

ybenlafk avatar hamzabenlafkih99 avatar

Stargazers

sbadr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.