Repository files navigation
0x16. project is a simple UNIX command interpreter done by Solomon Musyoki and Cynthia Odoyo
Display a prompt and wait for the user to type a command. A command line always ends with a new line.
Handle command lines with arguments.
Handle the PATH.
Implement the exit built-in, that exits the shell.
Implement the env built-in, that prints the current environment.
Write your own getline function.
Handle arguments for the built-in exit.
Implement the setenv and unsetenv builtin commands.
Implement the builtin command cd:
Handle the commands separator ;
Handle the && and || shell logical operators.
Implement the alias builtin command.
Handle variables replacement /$? variable and /$$ variable.
Handle comments (#).
The shell can take a file as a command line argument.
Functions and system calls
List of 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)
_exit (man 2 _exit)
fflush (man 3 fflush)
fork (man 2 fork)
free (man 3 free)
getcwd (man 3 getcwd)
getline (man 3 getline)
getpid (man 2 getpid)
isatty (man 3 isatty)
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)
stat (__xstat) (man 2 stat)
lstat (__lxstat) (man 2 lstat)
fstat (__fxstat) (man 2 fstat)
strtok (man 3 strtok)
wait (man 2 wait)
waitpid (man 2 waitpid)
wait3 (man 2 wait3)
wait4 (man 2 wait4)
write (man 2 write)
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
You can’t perform that action at this time.