{"id":20305267,"url":"https://github.com/hamzaelkhatri/minishell","last_synced_at":"2025-04-11T14:46:11.548Z","repository":{"id":54835221,"uuid":"315996519","full_name":"Hamzaelkhatri/minishell","owner":"Hamzaelkhatri","description":" The objective of this project is for you to create a simple shell.","archived":false,"fork":false,"pushed_at":"2021-05-20T20:59:53.000Z","size":1204,"stargazers_count":12,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-25T10:51:16.529Z","etag":null,"topics":["c","execution","minishell","parsing","shell"],"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/Hamzaelkhatri.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":"SECURITY.md","support":null}},"created_at":"2020-11-25T16:34:31.000Z","updated_at":"2025-03-21T09:03:06.000Z","dependencies_parsed_at":"2022-08-14T04:20:12.120Z","dependency_job_id":null,"html_url":"https://github.com/Hamzaelkhatri/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/Hamzaelkhatri%2Fminishell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamzaelkhatri%2Fminishell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamzaelkhatri%2Fminishell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamzaelkhatri%2Fminishell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hamzaelkhatri","download_url":"https://codeload.github.com/Hamzaelkhatri/minishell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248421587,"owners_count":21100635,"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","execution","minishell","parsing","shell"],"created_at":"2024-11-14T17:07:57.212Z","updated_at":"2025-04-11T14:46:11.530Z","avatar_url":"https://github.com/Hamzaelkhatri.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minishell_42\n\n## What is a shell? :thinking: ## \n  Basically in an operating system there are these two elements:\n  \u003cbr\u003e\n    * The kernel (= kernel): which performs the fundamental functions of \n                    the operating system such as memory management, processes, files ...\n  \u003cbr\u003e\n    * The shell: At its base, a shell is simply a macro processor that executes commands. \n                -The term macro processor means functionality where text and symbols are expanded to create larger expressions.\n                -A Unix shell is both a command interpreter and a programming language. \n\n## This Project Majerly Include :open_file_folder: ##\n\n**Parsing**\n\n        2. The separations\n        1. Pipes\n        3. Command and arguments\n        4. Protections\n        5. The \u003c,\u003e, \u003e\u003e redirects\n        6. Environment variables\n      \n**The execution**\n\n\n    1. Redirects\n    2. Env, export, unset\n    3. Exit and $?\n    4. Pipes / signals / process links \n    \n  ## Resources\nhttps://medium.com/@nickolasteixeira/want-to-build-a-simple-shell-heres-how-you-do-it-75890647bae8\u003c/br\u003e\nhttps://medium.com/dev-genius/lets-build-a-linux-shell-part-i-954c95911501\u003c/br\u003e\nhttps://medium.com/better-programming/how-bash-works-8424becc12f3\u003c/br\u003e\nhttps://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html\u003c/br\u003e\nhttps://man7.org/linux/man-pages/dir_all_by_section.html\u003c/br\u003e\nhttps://unix.stackexchange.com/questions/159513/what-are-the-shells-control-and-redirection-operators\u003c/br\u003e\nhttps://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html\u003c/br\u003e\nhttps://www.geeksforgeeks.org/pipe-system-call/?ref=rp\u003c/br\u003e\nhttps://www.geeksforgeeks.org/wait-system-call-c/?ref=rp\u003c/br\u003e\nhttps://www.geeksforgeeks.org/fork-system-call/?ref=rp\u003c/br\u003e\nhttp://www-igm.univ-mlv.fr/~dr/NCSPDF/chapitre11.pdf\u003c/br\u003e\nhttps://www.geeksforgeeks.org/making-linux-shell-c/\u003c/br\u003e\nhttps://www.quora.com/What-is-the-3rd-parameter-in-the-main-function-char-envp#:~:text=The%20non%2Dportable%2Dbut%2D,As%20always%2C%20I%20recommend%20experimenting\u003c/br\u003e\nhttps://chrtophe.developpez.com/tutoriels/minisysteme/#L11\u003c/br\u003e\nhttps://stackoverflow.com/questions/6697753/difference-between-single-and-double-quotes-in-bash\u003c/br\u003e\nhttps://brennan.io/2015/01/16/write-a-shell-in-c/\u003c/br\u003e\nhttps://www.youtube.com/watch?v=5BE9qM79fgM\u003c/br\u003e\nhttps://sites.cs.ucsb.edu/~manish/discussion/week2.pdf\u003cbr\u003e\nhttps://www.geeksforgeeks.org/chdir-in-c-language-with-examples/\n\u003cb\u003eImportant\u003cb\u003e\n\u003cbr\u003ehttps://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Bash/O%27Reilly%20bash%20CookBook.pdf\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamzaelkhatri%2Fminishell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhamzaelkhatri%2Fminishell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamzaelkhatri%2Fminishell/lists"}