/minishell

mini-shell

Primary LanguageC

Usage:            
make && ./minishell

Authorized functions:
	◦ malloc,free
	◦ access
	◦ open, close, read, write
	◦ opendir, readdir, closedir
	◦ getcwd, chdir
	◦ stat, lstat, fstat
	◦ fork, execve
	◦ wait, waitpid, wait3, wait4
	◦ signal, kill
	◦ exit

Mandatory part:
	• You must program a mini UNIX command interpreter.
	• This interpreter must display a prompt (a simple "$> " for example) and wait till
		you type a command line, validated by pressing enter.
	• The prompt is shown again only once the command has been completely executed.
	• The command lines are simple, no pipes, no redirections or any other advanced
		functions.
	• The executable are those you can find in the paths indicated in the PATH variable.
	• In cases where the executable cannot be found, it has to show an error message and
		display the prompt again.
	• You must manage the errors without using errno, by displaying a message adapted
		to the error output.
	• You must deal correctly with the PATH and the environment (copy of system char
		**environ).
	• You must implement a series of builtins: echo, cd, setenv, unsetenv, env, exit.
	• You can choose as a reference whatever shell you prefer.

Bonus part:
	• Management of signals and in particular Ctrl-C. The use of global variables is
		allowed as part of this bonus.
	• Management of execution rights in the PATH.
	• Auto completion.
	• The separation of commands with ";".
	• Other bonuses that you will think to be useful.