{"id":25221655,"url":"https://github.com/yrhiba/mnsh","last_synced_at":"2026-05-16T22:06:58.517Z","repository":{"id":177139629,"uuid":"657245061","full_name":"yrhiba/mnsh","owner":"yrhiba","description":"Mini Shell, it's like bash simple executor and reader.","archived":false,"fork":false,"pushed_at":"2023-08-27T12:41:07.000Z","size":605,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-21T03:42:58.887Z","etag":null,"topics":["c","parsing-expression-grammar","shell","system-calls"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Barameej-Al-Qawaqea/mnsh","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yrhiba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-22T16:22:35.000Z","updated_at":"2024-08-09T11:17:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d83ef05-bb46-4bfe-bb38-e416e95e0b2c","html_url":"https://github.com/yrhiba/mnsh","commit_stats":null,"previous_names":["yrhiba/mnsh"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yrhiba/mnsh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrhiba%2Fmnsh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrhiba%2Fmnsh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrhiba%2Fmnsh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrhiba%2Fmnsh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yrhiba","download_url":"https://codeload.github.com/yrhiba/mnsh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrhiba%2Fmnsh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33120462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","parsing-expression-grammar","shell","system-calls"],"created_at":"2025-02-10T22:52:58.721Z","updated_at":"2026-05-16T22:06:58.507Z","avatar_url":"https://github.com/yrhiba.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minishell\n\nMinishell is a command-line shell program, inspired by Bash, built using the C language and libc functions. It follows a similar algorithm and steps as tokenization, parsing using a tree data structure, expanding, and execution of commands. This project aims to provide a basic understanding of how shells work and offers a simplified implementation of a command-line interpreter.\n\n## Features\n\n- **Command Execution**: Minishell allows the execution of various commands, including built-in commands and external programs.\n- **Bash-like Syntax**: The shell supports a subset of the syntax used in popular shells like Bash, making it familiar and easy to use.\n- **Tokenization and Parsing**: Minishell employs a tokenizer and parser to break down user input into meaningful tokens and parse them into a command structure.\n- **Variable Expansion**: The shell supports variable expansion, allowing users to utilize and manipulate environment variables.\n- **Redirection and Pipes**: Minishell provides the functionality to redirect input/output and pipe output between commands.\n- **Signal Handling**: The shell incorporates signal handling, allowing for graceful termination and handling of signals such as Ctrl+C.\n\n## Getting Started\n\nTo get started with Minishell, follow these steps:\n\n1. Clone the repository: `git clone https://github.com/yrhiba/mnsh/`\n2. Navigate to the project directory: `cd minishell`\n3. Compile the code using a C compiler: `make all`\n4. Run the shell: `./minishell`\n\n## Usage\n\nOnce Minishell is running, you can start entering commands. Here are a few examples to get you started:\n\n- Execute an external program: `ls -l`\n- Use built-in commands: `cd \u003cdirectory\u003e` or `echo \u003cmessage\u003e`\n- Redirect input/output: `cat file.txt \u003e output.txt` or `grep \"pattern\" \u003c input.txt`\n- Pipe output between commands: `ls -l | grep \".txt\"`\n\nFor more information on available commands and features, refer to the documentation within Bash.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyrhiba%2Fmnsh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyrhiba%2Fmnsh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyrhiba%2Fmnsh/lists"}