A perl shell with sqlite history and environment variables
Find a file
2025-04-14 16:55:47 -05:00
lib save point working environment variables 2025-04-13 23:25:56 -05:00
.gitignore Git ignore update 2025-04-14 16:55:47 -05:00
.windsurfrules initial add 2025-04-13 21:37:36 -05:00
Makefile.PL Add File::HomeDir and Environment::SQLite dependencies to Makefile.PL 2025-04-14 11:57:09 -05:00
pshell.pl Add signal handlers for SIGINT, SIGCHLD and terminal resize events 2025-04-14 15:24:59 -05:00
README.md Add dependency list and notes about job control to README 2025-04-14 16:49:31 -05:00

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)
  • History::SQLite (for command history, part of the source)

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