msh-console/README.md

19 lines
1.1 KiB
Markdown

# Msh-console
Library that provides a bash-like command line for C++ programs. Features included:
* included flag handling implemented with popt.h;
* creation of personalized commands in the same thread of the shell or in other threads;
* basic shell functionalities, such as execution of other programs in the system. This is implemented with execvp().
* piping, implemented with <unistd.h> pipe() function. Code based on http://stackoverflow.com/a/5207730.
What is not actually included:
* advanced shell features, like:
* redirection,
* scripting,
* command history.
### Credits
Code based on "Write a Shell in C" tutorial by Stephen Brennan (http://brennan.io/2015/01/16/write-a-shell-in-c/).
The code has been slightly modified.
The code contains stringtoargcargv.cpp, a set of functions written by Bernhard Eder (http://web.archive.org/web/20121030075237/http://bbgen.net/blog/2011/06/string-to-argc-argv) for parsing a string into argc and argv.
### Compiling
The library can be compiled as shared library with the CMakeLists.txt file already in msh-console-library/.