Library that provides a bash-like command line interface for C++ programs.
msh-console-library | ||
.gitignore | ||
license.md | ||
README.md |
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/.