pshell/README.md

1.2 KiB

Perl Shell (pshell)

A modular Perl shell with SQLite command history and environment variables.

Notes

No job control, but that is what programs like tmux are for anyway. Fairly, basic shell, but modular. This does depend on some modules. Also still a work in progress.

Dependencies

  • DBI
  • DBD::SQLite
  • Term::ReadLine
  • Cwd
  • File::HomeDir
  • Environment::SQLite (for environment variables, part of the source, listed for completeness)
  • History::SQLite (for command history, part of the source, listed for completeness)

If they are not marked as part of the source for the shell, you will need to install them manually. Via cpan or your package manager.

Features

  • Executes shell commands
  • Logs all commands to SQLite database
  • Stores environment variables in SQLite database
  • Modular design for easy extension

Installation

  1. Install dependencies:

    cpanm --installdeps .
    
  2. Make the shell executable:

    chmod +x pshell.pl
    
  3. Run the shell:

    ./pshell.pl
    

Usage

  • Type commands as you would in a normal shell
  • Type 'exit' to quit
  • Command history is stored in pshell_history.db
  • Environment variables are stored in pshell_env.db