msh-console/README.md

1.2 KiB

msh-console

Library that provides a bash-like command line interface for C++ programs.

Abandoned

This was my first OOP project, so pardon the style and the conventions taken. This project is currently unmantained.

Features include:

  • 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 https://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. The code contains stringtoargcargv.cpp, a set of functions written by Bernhard Eder here 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/.