revbank
Prepaid bar tab payment system for hackerspaces
Usage
revbank [--id <str>] [--datadir <dir>] [--plugindir <dir>] [--command <cmd>]
revbank [--id <str>] [--datadir <dir>] --with-lock cmd arg...
revbank --help
revbank --man # Like --help, but more information (requires perldoc)
Description
This document only describes how to run revbank. The main documentation is in
README.md.
Options
-
-c, --command
Takes a single command line and executes it without entering the RevBank shell. The command line is parsed as input on the top-level RevBank prompt. Example:
--command 'give quux 0.42 "description here"; xyzzy'. -
--with-lock
Takes the remaining command line arguments (use
--to stop processing) and executes them as a system command, which may involve executing a shell; see "system" in perlfunc for details.Useful for running external programs (e.g. backup scripts) which need a consistent/atomic view of the data directory, but will block all RevBank usage until the program is over.
Example:
--with-lock -- tar -czf revbank-data.tgz ~/.revbank -
--id
Overrides
REVBANK_ID. -
--datadir
Overrides
REVBANK_DATADIR. -
--plugindir
Overrides
REVBANK_PLUGINDIR. -
--help, --man
View documentation: either just the options (
--help) or the entire man page (--man).
Environment
Some environment variables are boolean. Non-existent variables, empty
variables, and variables equal to 0 are considered false. All other values
are considered true, but it is customary to just use 1 (something like
yes could lead someone to believe that no would be false).
-
REVBANK_ID
Specifies the terminal ID, which can be used by plugins to identify the specific instance. The default value is the empty string, which means "not specified".
Valid identifiers are like in C and Perl, i.e. they can contain letters (A-Z, a-z), digits (0-9), and underscores (_), but the first character must not be a digit.
There is no guarantee that there will be only one process with a certain id.
-
REVBANK_DATADIR
Specifies the data directory, defaults to
~/.revbank. Will be created and populated if it does not already exist. -
REVBANK_PLUGINDIR
Specifies the directory for plugins that are listed without paths in
$REVBANK_DATADIR/plugins. Defaults topluginsin the directory of therevbankexecutable. -
REVBANK_PLUGINS
When not empty, specifies the plugins to load, separated by whitespace, instead of reading them from
$REVBANK_DATADIR/plugins. -
REVBANK_SHADOW
How to draw the shadow that shows what tab completion would add:
dim(the default),gray,fake, oroff. Usegrayorfakeon a terminal that ignores the dim attribute, like mosh. -
REVBANK_DEBUG
When true, makes RevBank print more details, like what happens with hidden accounts. Don't use in production, because those accounts are hidden for a reason.
-
REVBANK_SKIP_LOCK
When true, disables file locking. Necessary when calling RevBank from a program that already holds the lock, but otherwise just a bad idea. Use with caution.
-
REVBANK_JSON
Requires the
jsonplugin. Set tolinesorarrayfor JSONL or single-array JSON output, for integrating RevBank in external software. Note that although the normal output is suppressed, not everything is available as JSON information, so it's only usable for specific use cases that are deemed possible. -
REVBANK_STATIEGELD
Requires the
statiegeldplugin. When true, starts RevBank in deposit return mode, which means that scanned products will be container returns instead of purchases. See plugins/statiegeld.md for details.
See also
Further documentation is available in README.md, INSTALLING.md,
UPGRADING.md, and all the .md files in the RevBank repository.
Author
Juerd Waalboer #####@juerd.nl
License
This software may be redistributed under the terms of the GPL, LGPL, modified BSD, or Artistic license, or any of the other OSI approved licenses listed at http://www.opensource.org/licenses/alphabetical. Distribution is allowed under all of these licenses, or any smaller subset of multiple or just one of these licenses.
When using a packaged version, please refer to the package metadata to see under which license terms it was distributed. Alternatively, a distributor may choose to replace the LICENSE section of the documentation and/or include a LICENSE file to reflect the license(s) they chose to redistribute under.