-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
41 lines (29 loc) · 1.14 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
minishell: Re-implementation of a UNIX Shell
minishell is a re-implementation of Bash-like UNIX shell. The purpose
of this project is to learn about system calls for creating, managing,
and coordinating processes. Features of minishell includes: parsing of
command lines, execution of foreground commands, conditional comamnds,
I/O redirections, pipes, and command interruption through signals.
minishell command line has the following BNF grammer:
<commandline> ::= <list>
| <list> ";"
| <list> "&"
<list> ::= <andor>
| <list> ";" <andor>
| <list> "&" <andor>
<andor> ::= <pipeline>
| <andor> "&&" <pipeline>
| <andor> "||" <pipeline>
<pipeline> ::= <command>
| <pipeline> "|" <command>
<command> ::= <word>
| <redirection_list>
| <command> <word>
| <command> <redirection_list>
<redirection_list> ::= <io_redirection>
| <redirection_list> <io_redirection>
<io_redirection> ::= <redirection_op> <filename>
<redirection_op> ::= "<" | ">" | ">>"
BUILTINS
The following builtin commands are implemented: echo, cd, pwd, export,
unset, env, exit.