{"id":21954998,"url":"https://github.com/f0rkr/minishell","last_synced_at":"2026-05-13T07:04:49.791Z","repository":{"id":159752626,"uuid":"258326352","full_name":"f0rkr/minishell","owner":"f0rkr","description":"Making a shell using dummy C.","archived":false,"fork":false,"pushed_at":"2021-05-30T15:50:15.000Z","size":1292,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-27T23:14:27.186Z","etag":null,"topics":["c","descriptors","minishell","shell","zsh"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/f0rkr.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}},"created_at":"2020-04-23T20:46:06.000Z","updated_at":"2023-11-15T22:32:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"66b5ecf4-2825-4fa5-8ea5-41c61c260254","html_url":"https://github.com/f0rkr/minishell","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f0rkr%2Fminishell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f0rkr%2Fminishell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f0rkr%2Fminishell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f0rkr%2Fminishell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/f0rkr","download_url":"https://codeload.github.com/f0rkr/minishell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245007167,"owners_count":20546143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","descriptors","minishell","shell","zsh"],"created_at":"2024-11-29T07:27:03.906Z","updated_at":"2026-05-13T07:04:49.762Z","avatar_url":"https://github.com/f0rkr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# minishell\n\nCoding a *shell* from scratch using low level C was one of the most powerfull project I made, constructing all those building block of a shell from parsing commands\nthrough forking process creation and synchronisation, managing pipes and executing it. ✨\n\n\u003cimg src=\"https://images.amcnetworks.com/ifccenter.com/wp-content/uploads/2020/01/ghost-in-the-shell-1280.jpg\"\u003e\n\nit's called wesh shell. aka ``Wesh a sat``\n\n## Options created\n\nMinishell runs executables from an absolute, relative or environment PATH (``/bin/ls`` or ``ls``), including arguments or options. ``'`` and ``\"`` work the same as bash.\n\nYou can separate commands with ``;``, as well as use redirections ``\u003e`` ``\u003e\u003e`` ``\u003c`` and pipes ``|``.\n\nEnvironment variables are handled, like ``$HOME``, including the return code ``$?``.\n\nFinally, you can use ``Ctrl-C`` to interrupt and ``Ctrl-\\`` to quit a program, as well as ``Ctrl-D`` to throw an EOF, same as in bash.\n\nA few of the functions are \"built-in\", meaning we don't call the executable, we re-coded them directly. It's the case for ``echo``, ``pwd``, ``cd``, ``env``, ``export``, ``unset`` and ``exit``.\n\nYou can use arrow keys to edit commands and iterate through last executed ones (``history``). *managed with [termcap](https://man7.org/linux/man-pages/man5/termcap.5.html)*\n\n# How to run it\n\n```shell\nf0rkr@shell$ make\nf0rkr@shell$ ./minishell\nwsh :: /Users/f0rkr/Documents/minishell » wesh a sat\n```\n\n# Teammate \n  - [teslazap](https://github.com/OussamaElouarti)\n\n# Resources\n\nhttps://www.gnu.org/software/bash/manual/bash.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff0rkr%2Fminishell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff0rkr%2Fminishell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff0rkr%2Fminishell/lists"}