Skip to content

About

A shell written in C with no purpose.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Useless Shell

Features

  • Command auto completion (Tab)

  • Command syntax hints (Ctrl+Tab)

  • List commands with help

  • Users

    • Saved to file
    • Password hashing using the RSA Data Security, Inc. MD5 Message Digest Algorithm
    • Superusers
  • History

    • Saved to file per user (& guest)
    • View with history
    • Clear with history clear
    • Navigation (↑ & ↓)
  • Easy command declaration (see cmd_defs.c)

    CMD(
      .name = "history",
      .description = "Display the session command history",
      .impl = cmd_history,
      SUB_CMDS(
        {
          .name = "clear"
        }
      )
    ),
  • Command verification and unit testing

  • Input buffer editing

    • Cursor navigation (← & →)
    • Word navigation (Ctrl+← & Ctrl+→)
    • Backspace
    • Back word (Ctrl+Backspace)
    • Delete
    • Delete word (Ctrl+Del)
    • Clear (escape)

Known issues

  • Only compiles on Windows, though it shouldn't be hard to implement the remining platform-specific functions for Linux
  • Large paths and inputs are not checked

Installation

A .useless_shell directory will be created in ~/AppData/Roaming upon first run to store command history and user data.

Uninstallation

Login as admin user (login admin) and run uninstall. To do it manually, delete the .useless_shell directroy and the executable.

About

A shell written in C with no purpose.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages