My own implementation of unix shell.
A Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems.
For more details Wiki
- Write make in root directory to compile project.
- Compilation was done only on MacOS. Other OS were not tested
- backspace
- command separator `;`
- logic operators `||` and `&&`
- external binary executing: path/binary_name, ls, mkdir etc. (all binaries form standart folders /bin /etc/bin etc.)
- export built-in
- unset built-in
- export built-in
- exit built-in
- env [-i -P -u] built-in
- cd [-s -P -] built-in
- pwd [-L -P] built-in
- which [-a -s] built-in
- echo [-n -e -E] built-in
- fg [%n %str] built-in
- Signals handling: CTRL+Z CTRL+D CTRL+C
- tilda: ~; ~/dir_name; ~username/dir_name; ~+/dir_name; ~-/dir_name
- variable substitution ${VARNAME}; $VARNAME
- command substitution `command`; $(command)
