{"id":20777282,"url":"https://github.com/sdi2000182/c-shell","last_synced_at":"2026-05-06T19:35:17.098Z","repository":{"id":173998578,"uuid":"651513909","full_name":"sdi2000182/C-Shell","owner":"sdi2000182","description":"Implementation of a fully functional shell in C with support for various features like aliases, history, external variables, directory navigation (cd, pwd), exit, signal handling, pipes, redirection, background execution, and wildcards","archived":false,"fork":false,"pushed_at":"2023-09-09T14:10:53.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T08:23:45.132Z","etag":null,"topics":["bash","c","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/sdi2000182.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":"2023-06-09T12:05:16.000Z","updated_at":"2023-09-09T14:15:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"c86ee313-86d8-4ee1-9bae-af375ca7cd03","html_url":"https://github.com/sdi2000182/C-Shell","commit_stats":null,"previous_names":["sdi2000182/myshell"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdi2000182%2FC-Shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdi2000182%2FC-Shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdi2000182%2FC-Shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdi2000182%2FC-Shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdi2000182","download_url":"https://codeload.github.com/sdi2000182/C-Shell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243119662,"owners_count":20239319,"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","c","shell"],"created_at":"2024-11-17T13:14:47.120Z","updated_at":"2026-05-06T19:35:17.056Z","avatar_url":"https://github.com/sdi2000182.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Custom Shell (mysh) - README\n\n## Table of Contents\n- [Introduction](#introduction)\n- [Features](#features)\n  - [I/O Redirection](#io-redirection)\n  - [Appending to Existing Files](#appending-to-existing-files)\n  - [Pipes](#pipes)\n  - [Background Execution](#background-execution)\n  - [Wildcards](#wildcards)\n  - [Alias Management](#alias-management)\n  - [Signal Handling](#signal-handling)\n  - [Command History](#command-history)\n\n## Introduction\n\nCustom Shell (mysh) is a Unix-like shell ,it t is designed to be an interactive command interpreter that offers a wide range of capabilities.\n\n## Features\n\n### I/O Redirection\n\nI/O redirection allows you to manipulate input and output streams for commands. Here are some examples:\n\n- Redirect command output to a file:\n  ```bash\n  in-mysh-now:\u003e myProgram \u003e out.txt\n  - Redirect command input from a file:\n  ```bash\n  in-mysh-now:\u003e myProgram \u003e input.txt\n  -Use those features at the same time\n  '''bash\n  in-mysh-now:\u003e sort \u003c file1 \u003e file2\n   -Append to a file using input from another\n  '''bash\n  in-mysh-now:\u003e cat file1 \u003e\u003e file2\n\n### Pipes\n\nPipes are a fundamental feature of Custom Shell (mysh) that enable you to create powerful data pipelines by connecting multiple commands. With pipes, you can seamlessly pass the output of one command as the input to another, allowing for efficient data processing.\n\nTo use pipes, simply use the `|` symbol to chain commands together, like this:\n\n```bash\nin-mysh-now:\u003e command1 | command2 | command3\n\n### Background Execution (\u0026)\n\nCustom Shell (mysh) supports background execution, allowing you to run commands concurrently. You can use the `\u0026` symbol to execute a command in the background, which means it runs independently while you continue to use the shell.\n\nHere's how to use it:\n\n```bash\nin-mysh-now:\u003e command1 \u0026; command2 \u0026;\n\n#### Alias Management\n\n```markdown\n### Alias Management\n\nCustom Shell (mysh) provides alias management, allowing you to create and use custom command aliases for frequently used commands. An alias is a shortcut for a longer command, making your workflow more efficient.\n\nHere's how to create and use aliases:\n\n- Create an alias:\n  ```bash\n  in-mysh-now:\u003e createalias myhome \"cd /home/users/smith\";\n-Use and alias:\n'''bash\nin-mysh-now:\u003e myhome\n-Destory an alias:\n'''bash\nin-mysh-now:\u003e destroyalias myhome;\n\n#### Wildcards\n\n```markdown\n### Wildcards\n\nWildcards are a powerful feature in Custom Shell (mysh) that allow you to specify a subset of files in the current directory based on patterns. They are particularly useful for selecting multiple files that match a specific naming convention.\n\nHere's an example:\n\n```bash\nin-mysh-now:\u003e ls file*.txt\nin-mysh-now:\u003e ls f*le?.txt\n\n\n#### Command History\n\n```markdown\n### Command History\n\nCustom Shell (mysh) maintains a command history, which is a record of the last 20 commands you entered. This feature allows you to easily recall and rerun previous commands without retyping them, saving you time and effort.\n\nHere's how to navigate your command history:\n\n- in-mysh-now:\u003e myhistory\nDisplays the last 20 commands\n- in-mysh-now:\u003e myhistory 3\nExecutes the 3rd command from the myhistory list\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdi2000182%2Fc-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsdi2000182%2Fc-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdi2000182%2Fc-shell/lists"}