{"id":13782899,"url":"https://github.com/guptaNswati/simple_shell","last_synced_at":"2025-05-11T16:33:24.339Z","repository":{"id":78849128,"uuid":"76209075","full_name":"guptaNswati/simple_shell","owner":"guptaNswati","description":"A simple UNIX command interpreter","archived":false,"fork":false,"pushed_at":"2016-12-22T21:53:10.000Z","size":129,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-03T18:16:57.897Z","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/guptaNswati.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":"AUTHORS"}},"created_at":"2016-12-12T00:31:17.000Z","updated_at":"2020-09-26T12:59:02.000Z","dependencies_parsed_at":"2023-04-13T01:47:57.891Z","dependency_job_id":null,"html_url":"https://github.com/guptaNswati/simple_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/guptaNswati%2Fsimple_shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guptaNswati%2Fsimple_shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guptaNswati%2Fsimple_shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guptaNswati%2Fsimple_shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guptaNswati","download_url":"https://codeload.github.com/guptaNswati/simple_shell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253596014,"owners_count":21933495,"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-08-03T18:01:47.520Z","updated_at":"2025-05-11T16:33:24.117Z","avatar_url":"https://github.com/guptaNswati.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# Simple Shell\n\nA re-creation of a UNIX shell using C.\n\n**NOTE: Add a picture here!**\n\n\n## Examples\n\nPlease follow __Download and Run Instructions__ below for initial setup. When inside the shell, you can:\n\nRun an executable:\n```\n$ /bin/ls\n```\n\nRun an executable found in the `$PATH` environment variable:\n```\n$ ls\n```\n\nRun a shell built-in:\n```\n$ printenv\n```\n\nTo find all built-ins, run the manual:\n```\n$ man ./man_1_simple_shell\n```\n\n\n## Download and Run Instructions\n\nClone Repo:\n```\n$ git clone https://github.com/guptaNswati/simple_shell.git\n```\n\nCompile:\n```\n$ gcc -Wall -Werror -Wextra -pedantic *.c ./tests/prompt-main.c -o simple_shell\n```\n\nRun the Executable:\n```\n$ ./simple_shell\n```\n\n\n## Requirements for this project\n\n- All files will be compiled on Ubuntu 14.04 LTS\n- Programs and functions will be compiled with `gcc 4.8.4` using the flags `-Wall`, `-Werror`, `-Wextra`, and `-pedantic`\n- Code should comply with [Betty](https://github.com/holbertonschool/Betty) style.\n- No more than 5 functions per file.\n- All header files should be include guarded.\n- List of allowed functions and system calls:\n  * `access` (man 2 access)\n  * `chdir` (man 2 chdir)\n  * `close` (man 2 close)\n  * `closedir` (man 3 closedir)\n  * `execve` (man 2 execve)\n  * `exit` (man 3 exit)\n  * `fork` (man 2 fork)\n  * `free` (man 3 free)\n  * `fstat` (man 2 fstat)\n  * `getcwd` (man 3 getcwd)\n  * `getline` (man 3 getline)\n  * `kill` (man 2 kill)\n  * `lstat` (man 2 lstat)\n  * `malloc` (man 3 malloc)\n  * `open` (man 2 open)\n  * `opendir` (man 3 opendir)\n  * `perror` (man 3 perror)\n  * `read` (man 2 read)\n  * `readdir` (man 3 readdir)\n  * `signal` (man 2 signal)\n  * `stat` (man 2 stat)\n  * `strtok` (man 3 strtok) - advanced task recreate\n  * `wait` (man 2 wait)\n  * `waitpid` (man 2 waitpid)\n  * `wait3` (man 2 wait3)\n  * `wait4` (man 2 wait4)\n  * `write` (man 2 write)\n  * `_exit` (man 2 _exit)\n\n\n## File Descriptions\n\n- `shell.h`: Header file which contains any library includes, structs created, and all function prototypes.\n- `prompt.c`: Main shell file which prints and asks for prompt from User, creates tokens from User input, and runs executable or returns response if no executable found.\n- `get-line.c`: Contains a rewrite of function getline and a tokenize function to split apart strings by delimiters.\n- `env-get-set.c`: All functions related to environment variables. Functions include ability to Get, Set, Unset, Print, Check.\n- `builtins.c`: Functions to handle built-in commands and checking commands via PATH environment variable.\n- `string-funcs.c`: Helper functions that handle strings, include copy, compare, tokenize/parse, and concatenate.\n- `string-funcs2.c`: More helper functions.\n- `memory.c`: Functions to handle memory allocation and frees.\n- `cd.c`: Shell built-in change directory command.\n- `alias.c`: Functions to handle alias built-in command.\n- `aliasFunc.c`: Contains a helper function to handle aliases.\n- `hstry.c`: Functions to handle history built-in and storing history of inputted commands in an external parent directory.\n- `help.c`: Functions to handle help built-in.\n- `duplict-parse.c`: Helper functions for parsing and deep duping.\n\n\n## Team\n\n*Swati Gupta* - [Github](https://github.com/guptaNswati) || [Twitter](https://github.com/guptaNswati)\n\n*Philip Yoo* - [Github](https://github.com/philipyoo) || [Twitter](https://twitter.com/philipYoo10)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FguptaNswati%2Fsimple_shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FguptaNswati%2Fsimple_shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FguptaNswati%2Fsimple_shell/lists"}