19 lines
1.1 KiB
Markdown
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/.
|