{"id":16557433,"url":"https://github.com/ohn0/shell","last_synced_at":"2025-03-04T23:28:09.936Z","repository":{"id":125633710,"uuid":"83094693","full_name":"ohn0/shell","owner":"ohn0","description":null,"archived":false,"fork":false,"pushed_at":"2017-03-06T12:14:01.000Z","size":98,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-15T08:51:35.844Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ohn0.png","metadata":{"files":{"readme":"readme","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":"2017-02-25T00:35:21.000Z","updated_at":"2017-02-25T00:37:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"2e50a9e7-aed0-4cd5-81ef-64eec0814430","html_url":"https://github.com/ohn0/shell","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/ohn0%2Fshell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohn0%2Fshell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohn0%2Fshell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohn0%2Fshell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ohn0","download_url":"https://codeload.github.com/ohn0/shell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241937645,"owners_count":20045318,"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":[],"created_at":"2024-10-11T20:07:27.076Z","updated_at":"2025-03-04T23:28:09.930Z","avatar_url":"https://github.com/ohn0.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Shell User Manual\n\nGeneral Information:\n\tThis is a simple shell designed for basic interaction with the linux system. There are a set of built-in functions designed for interacting with the shell as well as the ability to execute your own programs alongwith the programs the system provides. Don't expect much.\n\nBasic usage:\n\tCommand -args1...-argsN file1..fileN\n\tEnter a command with any of it's arguments. If you also have to specify a file, it must be specified after the arguments are specified.\n\n\tThe length of the command cannot be greater than 200 characters.\n\n\tAny command typed into the shell will:\n\t\tFirst be checked to see if it is an internal command.\n\t\tIf not, check if it is an executable program within the current directory.\n\t\tIf not, check if it is in /bin or /usr/bin.\n\t\tIf none of these conditions trigger, the command will not be executed.\t\n\nInternal commands:\n\tcd \u003cdir\u003e - Enter \u003cdir\u003e, this will also change your shell's default environment to \u003cdir\u003e. If \u003cdir\u003e is not specified, the current active directory will be printed.\n\n\tclr - Clears the terminal screen.\n\n\tdir \u003cdirectory\u003e \u003cargs\u003e - List all the contents of \u003cdirectory\u003e \n\t\tIf \u003cdirectory\u003e is not specified, the contents of the current directory will be printed. \u003cdirectory\u003e can be relative or absolute.\n\t\t\n\t\t\u003cargs\u003e:\n\t\t\t-l: List the contents as one list\n\t\t\t-a: List hidden entries\n\t\t\t-r: list the contents of any folders within \u003cdirectory\u003e\n\n\tenviron - List all environment strings.\n\n\techo \u003ccomment\u003e - Prints \u003ccomment\u003e\n\t\n\thelp - Display this document.\n\n\tpause - Pauses shell execution until enter is pressed.\n\n\tquit - Quit the shell.\n\nExternal commands:\n\tPrograms that exist in /bin or /usr/bin can be executed by typing their name(like ls, wc). You can also use man or help followed by the command to learn about the command's purpose.\n\nUser programs:\n\tExecutable programs in the current directory can also be run by typing their name. \t\n\nI/O redirection:\n\tThis shell also supports I/O redirection and pipes if the user wishes to use them. The specified I/O files need to have their proper r/w permissions or the command will not execute properly.\n\n\tcommand args \u003c INPUT_FILE - The command will read from INPUT_FILE instead of expecting input from the keyboard.\n\n\tcommand args \u003e OUTPUT_FILE - The command will write any output to OUTPUT_FILE instead of the terminal. You will not be able to see what is being output until you read OUTPUT_FILE.\n\n\tcommand args \u003c INPUT_FILE \u003e OUTPUT_FILE - Input and output can both be redirected for one command.\n\n\tcommanda | commandb - Redirect the output of commanda as the input of commandb. commandb will read whatever commanda writes. \n\nBackground process:\n\tcommand args \u0026 - Typing \u0026 at the end of a command will execute that command in the background. The shell will start the program and come back to the user for the next command. If output is not redirected, the any output from the background command will be written to output_file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fohn0%2Fshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fohn0%2Fshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fohn0%2Fshell/lists"}