Skip to content

3SSI3/simple_shell

Repository files navigation

SIMPLE SHELL BASICS

Projects done in teams of two people during our study at Alx software engineering programme.

For this project we had to take a close look at these concepts;

During this project

Unless specified otherwise, your program must have the exact same output as sh (/bin/sh) as well as the exact same error output.
The only difference is when you print an error, the name of the program must be equivalent to your argv[0] (See below)
Example of error with sh:

$ echo "qwerty" | /bin/sh
/bin/sh: 1: qwerty: not found
$ echo "qwerty" | /bin/../bin/sh
/bin/../bin/sh: 1: qwerty: not found
$

List of allowed functions and system calls

ALLOWED FUNCTIONS & SYSTEM CALLS ALLOWED FUNCTIONS & SYSTEM CALLS
access (man 2 access) malloc (man 3 malloc)
chdir (man 2 chdir) open (man 2 open)
close (man 2 close) opendir (man 3 opendir)
closedir (man 3 closedir) perror (man 3 perror)
execve (man 2 execve) read (man 2 read)
exit (man 3 exit) readdir (man 3 readdir)
_exit (man 2 _exit) signal (man 2 signal)
fork (man 2 fork) lstat (_lxstat)(man 2 lstat)
free (man 3 free) fstat (_fxtat)(man 2 fstat)
getcwd (man 3 getcwd) strtok (man 3 strtok)
getline (man 3 getline) wait (man 2 wait)
getpid (man 2 getpid) waitpid (man 2 waitpid)
isatty (man 3 isatty) wait3 (man 2 wait3)
kill (man 2 kill) wait4 (man 2 wait4)
write (man 2 write)

FIELS CREATED;

FILES CREATED FILES CREATED
_atoi.c builtin.c
builtin.c environ.c
errors.c errors1.c
exits.c getLine.c
getenv.c getinfo.c
history.c lists.c
lists1.c main.c
memory.c parser.c
realloc.c shell.h
shell_loop.c string.c
string1.c tokenizer.c
vars.c

Contributors

  • Essie Mkeu
  • Joseph Simon

Releases

No releases published

Packages

No packages published

Languages