Skip to content

ALX simple shell project implementation that functions similarly like UNIX system in its simple form.

Notifications You must be signed in to change notification settings

wellingtonmwadali/simple_shell

Repository files navigation

Project Name

Simple Shell Project

Description

This project, called "Gates of Shell," serves as a milestone project for C code at ALX Africa Software Engineering. Designed to aid students in grasping advanced concepts in shell programming, it covers processes, system calls, bit manipulation, file management, and error handling. The shell itself is a basic UNIX command interpreter, mirroring the functionalities of the simple shell (sh), and was developed entirely in the C language.

Features

  • Command execution: The shell allows users to execute commands and run programs by typing them into the command prompt.
  • Input/output redirection: Users can redirect input and output streams, enabling them to read input from files or write output to files.
  • Pipeline support: Users can create command pipelines by connecting multiple commands together, allowing the output of one command to serve as input to another.
  • Built-in commands: The shell provides a set of built-in commands that can be executed directly, such as cd for changing directories or exit for terminating the shell.
  • Error handling: The shell handles errors gracefully, providing appropriate error messages and returning exit codes.

Technologies Used

  • C programming language: The shell is implemented using the C programming language, taking advantage of its low-level system access and standard libraries.
  • Operating system interfaces: The shell utilizes operating system interfaces, such as system calls, to interact with the underlying operating system and execute commands.

Installation and Usage

  1. Clone the repository.
  2. Compile the shell source code using a C compiler. For example: gcc shell.c -o shell.
  3. Run the compiled executable: ./shell.
  4. The shell prompt will be displayed, allowing you to enter commands and interact with the shell.
  5. Enter help or man command within the shell to get information about available commands and their usage.

Contributing

Contributions are welcome! If you have any ideas, suggestions, or improvements, please feel free to submit a pull request.

License

This project is licensed under the MIT License.

Acknowledgments

  • Thanks to the open-source community and various online resources for providing insights and guidance on shell implementation.

Contact

For any questions or inquiries, please contact Mwadali at wellingtonmwadali@gmail.com

Enjoy using the Simple Shell!

About

ALX simple shell project implementation that functions similarly like UNIX system in its simple form.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages