50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
# 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`
|