{"id":37088951,"url":"https://github.com/aayushxrj/go-shell","last_synced_at":"2026-01-14T10:55:05.736Z","repository":{"id":243416790,"uuid":"811969753","full_name":"aayushxrj/go-shell","owner":"aayushxrj","description":"A POSIX compliant shell implemented in Go, capable of interpreting commands and running external programs.","archived":false,"fork":false,"pushed_at":"2024-06-08T18:44:28.000Z","size":4113,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-12T05:00:03.513Z","etag":null,"topics":["golang","shell"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aayushxrj.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":"2024-06-07T17:10:44.000Z","updated_at":"2024-06-08T18:44:31.000Z","dependencies_parsed_at":"2024-06-08T18:52:12.783Z","dependency_job_id":"f8f33ffa-7a71-4147-9de3-a285f0a1a915","html_url":"https://github.com/aayushxrj/go-shell","commit_stats":null,"previous_names":["aayushxrj/go-shell"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aayushxrj/go-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushxrj%2Fgo-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushxrj%2Fgo-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushxrj%2Fgo-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushxrj%2Fgo-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aayushxrj","download_url":"https://codeload.github.com/aayushxrj/go-shell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushxrj%2Fgo-shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28417739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["golang","shell"],"created_at":"2026-01-14T10:55:04.984Z","updated_at":"2026-01-14T10:55:05.731Z","avatar_url":"https://github.com/aayushxrj.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go Shell\n\nGo Shell is a [POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html) compliant shell implemented in Go. It's capable of interpreting shell commands, running external programs, and executing built-in commands. \n\n## Built-in commands\n\n- [x] echo - Display a line of text.\n- [x] cd - Change the current directory.\n- [x] pwd - Print the current directory.\n- [x] type - Display the type of command (built-in, alias, file, etc.).\n- [x] exit - Exit the shell.\n\n- [ ] help - Display help for built-in commands.\n- [ ] | - Piping operator to pass the output of one command as input to another.\n- [ ] \u003e, \u003e\u003e - Redirection operators to direct output to a file (overwrite or append).\n- [ ] history - Show command history.\n\n- [ ] ls - List directory contents.\n- [ ] cp - Copy files or directories.\n- [ ] mv - Move/rename files or directories.\n- [ ] rm - Remove files or directories.\n- [ ] mkdir - Create directories.\n- [ ] rmdir - Remove empty directories.\n- [ ] touch - Change file timestamps or create empty files.\n\n- [ ] cat - Concatenate and display file content.\n- [ ] less - View file content page by page.\n- [ ] head - Display the beginning of a file.\n- [ ] tail - Display the end of a file.\n- [ ] nano or vim - Text editors (if you want to integrate an editor).\n\n- [ ] ps - Display current processes.\n- [ ] kill - Terminate a process by ID.\n- [ ] top - Display system resource usage (if you want to integrate a basic version).\n\n- [ ] ping - Check network connectivity.\n- [ ] curl or wget - Download files from the web (basic version).\n\n- [ ] df - Display disk space usage.\n- [ ] du - Estimate file space usage.\n- [ ] free - Display memory usage.\n\n- [ ] env - Display environment variables.\n- [ ] export - Set environment variables.\n- [ ] whoami - Display the current user.\n- [ ] su - Switch user (requires proper permission handling).\n\n- [ ] echo - Display a line of text.\n- [ ] alias - Create an alias for a command.\n- [ ] source - Execute commands from a file in the current shell.\n\n- [ ] chmod - Change file permissions.\n- [ ] chown - Change file owner and group.\n- [ ] ln - Create hard and symbolic links.\n- [ ] find - Search for files in a directory hierarchy.\n- [ ] grep - Search text using patterns.\n\n- [ ] man - Display the manual for commands.\n- [ ] date - Display or set the system date and time.\n- [ ] hostname - Show or set the system's hostname.\n- [ ] Enable autocompletion for faster and more efficient command execution.\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Running on local machine \n\n#### Prerequisites\n\n- Go 1.22.2 or later\n\nClone the repository:\n\n```sh\ngit clone https://github.com/aayushxrj/go-shell\ncd go-shell\n```\n\nBuild the application:\n\n```sh\ngo build -o myshell ./cmd/myshell/main.go \n```\n\nRun the application:\n\n```sh\n./myshell\n```\n\n### Running with Docker\n\nYou can also run Go Shell inside a Docker container.\n\nDirectly pull and run from Docker Hub (recommended):\n\n```sh\ndocker-compose run myshell\n```\n\nor Build and run the Docker image locally:\n\n```sh\ndocker build -t aayushxrj/go-shell:latest .\n```\n\n```sh\ndocker run -it aayushxrj/go-shell:latest\n```\n\n## License\n\nThis project is licensed under the MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faayushxrj%2Fgo-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faayushxrj%2Fgo-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faayushxrj%2Fgo-shell/lists"}