8000 GitHub - tegaidogun/q-shell: A decent Unix-like shell made to gain a deeper understanding of shells.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

tegaidogun/q-shell

Repository files navigation

q-shell

A modern shell implementation with advanced features and extensibility.

Features

  • Command chaining with operators (|, &&, ||)
  • I/O redirection
  • Background job control
  • Command history
  • Built-in commands
  • System call profiling

Dependencies

Required

  • GCC (GNU Compiler Collection)
  • CMake (>= 3.10)
  • GNU Readline library
  • POSIX-compliant system

Optional

  • Python 3 (for documentation scripts)
  • Doxygen (for API documentation)

Building

  1. Clone the repository:
git clone https://github.com/tegaidogun/q-shell.git
cd q-shell
  1. Build the project:
make
  1. Install (optional):
sudo make install

Documentation and Testing

Documentation

To generate the documentation:

make docs

This will:

  1. Run the Python documentation script to generate markdown files
  2. Generate API documentation using Doxygen
  3. Output the documentation to docs/html/

Testing

To run all tests:

make test

This will run the following test suites:

  • Parser tests
  • Shell core tests
  • Profiler tests
  • Input handling tests
  • Tokenizer tests

License

This project is licensed under the MIT License. See the LICENSE file for details.

0