https://github.com/syssos/simple_shell
This Shell was written in C, and used as a learning method to better understand how a Linux based shell operates.
https://github.com/syssos/simple_shell
c linux shell
Last synced: about 1 month ago
JSON representation
This Shell was written in C, and used as a learning method to better understand how a Linux based shell operates.
- Host: GitHub
- URL: https://github.com/syssos/simple_shell
- Owner: Syssos
- Created: 2018-03-15T20:20:34.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-03-29T07:08:22.000Z (about 8 years ago)
- Last Synced: 2025-01-08T12:13:44.694Z (over 1 year ago)
- Topics: c, linux, shell
- Language: C
- Homepage:
- Size: 61.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Authors: AUTHORS
Awesome Lists containing this project
README
# 0x15. C - Simple Shell
Write a simple UNIX command interpreter.
## Requirements
* Allowed editors: vi, vim, emacs
* All your files will be compiled on Ubuntu 14.04 LTS
* Your C programs and functions will be compiled with gcc 4.8.4 using the flags -Wall -Werror -Wextra and -pedantic
* All your files should end with a new line
* A README.md file, at the root of the folder of the project is mandatory
* Your code should use the Betty style. It will be checked using betty-style.pl and betty-doc.pl
* No more than 5 functions per file
* All your header files should be include guarded
* Use system calls only when you need to (why?)
## Allowed functions and system calls
* access (man 2 access)
* chdir (man 2 chdir)
* close (man 2 close)
* closedir (man 3 closedir)
* execve (man 2 execve)
* exit (man 3 exit)
* fork (man 2 fork)
* free (man 3 free)
* stat (__xstat) (man 2 stat)
* lstat (__lxstat) (man 2 lstat)
* fstat (__fxstat) (man 2 fstat)
* getcwd (man 3 getcwd)
* getline (man 3 getline)
* kill (man 2 kill)
* malloc (man 3 malloc)
* open (man 2 open)
* opendir (man 3 opendir)
* perror (man 3 perror)
* read (man 2 read)
* readdir (man 3 readdir)
* signal (man 2 signal)
* strtok (man 3 strtok)
* wait (man 2 wait)
* waitpid (man 2 waitpid)
* wait3 (man 2 wait3)
* wait4 (man 2 wait4)
* write (man 2 write)
* _exit (man 2 _exit)
* isatty (man 3 isatty)
* fflush (man 3 fflush)
## Testing
Interactive

Non-interactive
