# 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 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/.