{"id":13439763,"url":"https://github.com/brenns10/lsh","last_synced_at":"2025-04-08T08:14:45.924Z","repository":{"id":25567021,"uuid":"29000401","full_name":"brenns10/lsh","owner":"brenns10","description":"Simple shell implementation.  Tutorial here -\u003e","archived":false,"fork":false,"pushed_at":"2022-08-02T06:53:23.000Z","size":16,"stargazers_count":1560,"open_issues_count":5,"forks_count":349,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-04-01T05:34:32.772Z","etag":null,"topics":["c","shell","tutorial"],"latest_commit_sha":null,"homepage":"http://brennan.io/2015/01/16/write-a-shell-in-c/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brenns10.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}},"created_at":"2015-01-09T04:20:10.000Z","updated_at":"2025-03-31T14:19:36.000Z","dependencies_parsed_at":"2022-07-27T05:16:14.749Z","dependency_job_id":null,"html_url":"https://github.com/brenns10/lsh","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/brenns10%2Flsh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brenns10%2Flsh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brenns10%2Flsh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brenns10%2Flsh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brenns10","download_url":"https://codeload.github.com/brenns10/lsh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247801169,"owners_count":20998339,"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","shell","tutorial"],"created_at":"2024-07-31T03:01:16.908Z","updated_at":"2025-04-08T08:14:45.890Z","avatar_url":"https://github.com/brenns10.png","language":"C","readme":"LSH\n===\n\nLSH is a simple implementation of a shell in C, and it is the subject of a\ntutorial on [my website][1].  It demonstrates the basics of how a shell works.\nThat is: read, parse, fork, exec, and wait.  Since its purpose is demonstration\n(not feature completeness or even fitness for casual use), it has many\nlimitations, including:\n\n* Commands must be on a single line.\n* Arguments must be separated by whitespace.\n* No quoting arguments or escaping whitespace.\n* No piping or redirection.\n* Only builtins are: `cd`, `help`, `exit`.\n\nRunning\n-------\n\nUse `gcc -o lsh src/main.c` to compile, and then `./lsh` to run. If you would\nlike to use the standard-library based implementation of `lsh_read_line()`, then\nyou can do: `gcc -DLSH_USE_STD_GETLINE -o lsh src/main.c`.\n\nContributing\n------------\n\nSince this is the subject of a tutorial, I'm not looking to extend it with\nadditional features at this time.  So I won't be accepting any pull requests\nthat aren't related to bug fixes (and I'm sure there are still bugs in the\ncode!).\n\nHowever, that doesn't mean that you shouldn't play with the code, make changes,\nand explore new features!  That's the whole point of this project!  It's just\nthat other people are doing the same thing, and this project is merely a\nstarting point for your own exploration.\n\nOn that note, I would be just tickled if you dropped me a line (see my website\nfor contact info) to show me the cool new features you've added!\n\nLicense\n-------\n\nThis code is in the public domain (see [UNLICENSE](UNLICENSE) for more details).\nThis means you can use, modify, and distribute it without any restriction.  I\nappreciate, but don't require, acknowledgement in derivative works.\n\n[1]: http://brennan.io/2015/01/16/write-a-shell-in-c/\n","funding_links":[],"categories":["C","终端"],"sub_categories":["网络服务_其他"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrenns10%2Flsh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrenns10%2Flsh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrenns10%2Flsh/lists"}