feat: add shell scripting with variables

Implemented roadmap #9: Shell scripts execution with variables.

Features:
- set <name> <value> - Set shell variable
- unset <name> - Remove variable
- vars - List all variables
- Variable substitution in all commands

Variable syntax:
- $VAR or ${VAR} - Shell variables
- $ENV:VARNAME - Environment variables

Variables expand before command execution, enabling:
- Dynamic key paths: put $BASE/$ID '{"data":"value"}'
- Reusable values: set TOKEN xyz && auth $TOKEN
- Script parameterization in batch files

Example batch script:
  set USER alice
  set KEY_PREFIX users
  put $KEY_PREFIX/$USER '{"name":"$USER"}'
  get $KEY_PREFIX/$USER

Variables are session-scoped and work in both interactive
and batch modes. Environment variables can be injected using
$ENV:HOME syntax.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-06 00:01:36 +03:00
parent bd73a1c477
commit efaa5cdcc9
5 changed files with 106 additions and 1 deletions

View File

@@ -130,6 +130,9 @@ var completer = readline.NewPrefixCompleter(
readline.PcItem("export"),
readline.PcItem("import"),
readline.PcItem("export-list"),
readline.PcItem("set"),
readline.PcItem("unset"),
readline.PcItem("vars"),
readline.PcItem("batch"),
readline.PcItem("source"),
readline.PcItem("help"),