Command groups define groups of commands, wildcard patterns, or both, that match commands:
CREATE TABLE cmdgrp ( id INTEGER PRIMARY, name TEXT UNIQUE, description TEXT, disabled INTEGER CHECK(disabled BETWEEN 0 AND 1)-- 0=enabled, 1=disabled ); CREATE TABLE cmdlist ( id INTEGER REFERENCES cmdgrp(id), cmd TEXT, -- "glob" wildcard rewrite TEXT, -- new command (see below) PRIMARY KEY(id,cmd) );
Each command group has multiple command list entries that specify commands and/or wildcards that match the submitted command name when matched by the role, and a rewrite column to rewrite the command that is executed. The rewrite is in a similar format to Bourne/Bash shell arguments, for example, $0, $1, $*, $#etc. Rewrite uses the original command to substitute arguments into the new rewritten command.