{"id":20843435,"url":"https://github.com/sadham-hussian/skerl","last_synced_at":"2026-04-14T06:33:39.393Z","repository":{"id":85042606,"uuid":"245955796","full_name":"Sadham-Hussian/skerl","owner":"Sadham-Hussian","description":"A basic implementation of shell in C for unix/linux systems","archived":false,"fork":false,"pushed_at":"2020-05-03T18:45:54.000Z","size":571,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-19T02:44:18.869Z","etag":null,"topics":["bash","implementation-of-shell","shell","skerl"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sadham-Hussian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-03-09T06:00:44.000Z","updated_at":"2022-08-09T13:12:39.000Z","dependencies_parsed_at":"2023-03-03T00:30:57.985Z","dependency_job_id":null,"html_url":"https://github.com/Sadham-Hussian/skerl","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/Sadham-Hussian%2Fskerl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sadham-Hussian%2Fskerl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sadham-Hussian%2Fskerl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sadham-Hussian%2Fskerl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sadham-Hussian","download_url":"https://codeload.github.com/Sadham-Hussian/skerl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243204315,"owners_count":20253413,"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":["bash","implementation-of-shell","shell","skerl"],"created_at":"2024-11-18T01:29:58.202Z","updated_at":"2026-04-14T06:33:39.355Z","avatar_url":"https://github.com/Sadham-Hussian.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# skerl\n\u003ch1 align=\"center\"\u003e\n\t\u003cimg\n\t\twidth=\"500\"\n\t\talt=\"skerl\"\n\t\tsrc=\"https://github.com/KrishnanSG/skerl/blob/master/logo.svg\"\u003e\n\u003c/h1\u003e\n\nIn this project we have developed a basic, yet powerful shell --**skerl** for the unix/linux systems.\n\n## Getting Started\n\nThese instructions will get you a copy of the project and ready for use on your local unix/linux machine.\n\n### Prerequisites\nThe shell developed is target for unix/linux systems only.\n\n  #### Quick Access\n  - Click on the link to download skerl - [skerl.zip](https://github.com/KrishnanSG/skerl/files/4505232/skerl.zip)\n  \n  - Extract the zip folder\n  \n  #### Release\n  - You can download the latest release of skerl from [here](https://github.com/KrishnanSG/skerl/releases).\n\n  #### Developer Style\n  - GNU GCC complier\n\n  - Clone this repository using the command:\n\n    ```\n      git clone https://github.com/KrishnanSG/skerl.git\n      cd skerl\n    ```\n    \n  - Complie and create executable\n\n    ```\n      gcc skerl.c -o skerl.out\n    ```\n\n### How to Use\n\nYou're almost there. \nThe following steps will guide you on how to get start with skerl.\n\n1. Open your favourite terminal\n2. Starting skerl shell\n     ```\n          ./skerl.out\n     ```\n3. Enjoy skerl 😀. \n\n\u003e You may use the help command to get help regarding the shell\n\n## What can skerl do?\n   - Parse and tokenize the given command\n   - Execute any given program\n   - Maintains history of all commands for quick access\n   - Input redirection\n```\neg: /home/user$ wc -l \u003c story.txt\n```\n   - Output redirection\n```\neg: /home/user$ ls \u003e out.txt\n/home/user$ ls \u003e\u003e out.txt\t// append mode\n```\n   - Pipes\n```\neg: /home/user$ cat story.txt | wc -l \n```\n   - Execute process in background when suffixed with (\u0026)\n```\neg: /home/user$ program.o -arg1 -arg2 \u0026\n``` \n   - Provides stats on usage of shell. Try out the following internal commands.\n```\nglobalusage\naverageusage\n```\n\n## How does this work?\nThis is a really interesting section as developer you would love to visit. Keeping this in mind we have provide a pretty detailed explaination. \n\nThe [report](https://github.com/KrishnanSG/skerl/blob/master/Report.pdf) we have created contains:\n- What is a shell?\n- Lifetime of a shell\n- Internal vs External commands\n- Implementation of skerl\n- Working of skerl\n- Conclusion\n\n\n## Authors\n\n* **Krishnan S G** - [@KrishnanSG](https://github.com/KrishnanSG)\n* **Sadham Hussain** - [@Sadham-Hussian](https://github.com/Sadham-Hussian)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsadham-hussian%2Fskerl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsadham-hussian%2Fskerl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsadham-hussian%2Fskerl/lists"}