Skip to content
/ qsh Public

qsh - A small, lightweight, command interpreter

License

Notifications You must be signed in to change notification settings

mckenney5/qsh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick Shell

qsh — A small, lightweight, command interpreter

screen shot

Description

This is the rewrite of quick terminal, quick terminal server edition, and QTerminal. Quick Shell aims at replacing bash or zsh with a smaller and lighter program and follows the suckless philosophy. (note this project is not associated with suckless).

Project Meta

This software is in a working alpha state. The software may not work and may have drastic changes in the future.

License

This code (see exception) is licensed under the MIT license. See 'LICENSE' for details.

Note, the source code for linenoise-mob is also included in this repo which is under the BSD 2-Clause "Simplified" License. See src/libs/linenoise/LICENSE for more details.

Compiling and Testing

This program allows a couple of compiling options.

The simplest way is to compile by make

Make Options:
  • make gnu : makes the user interface use GNU readline
  • make tiny : makes the UI only use fgets (aka no line editing, like sh(1))
  • make debug : adds debugging symbols to the program, along with verbose output
  • make static : statically links program (note: this should be done only with musl clib)
  • make : makes the UI use the linenoise-mob library
  • make install : creats qsh with linenoise and moves qsh to the /usr/bin file and installs the manpage
  • make uninstall : deletes /usr/bin/qsh and the man file from the system
(optional) Colors:
  • NO_COLOR (-DNO_COLOR) : disables color in the prompt ONLY

How to contribute

Take a look at the ROADMAP for what still needs to get done for the next version.

Then:

  1. Fork the repository
  2. Compile
  3. Test
  4. Make changes
  5. Test again
  6. After all of that then submit a merge/pull request