Bash.Diff is a patch against Bash shell. In the main core, it adds the following syntax: {a..b}; ${var|...}; then-else-fi to for/while/until/case statements; try-block with string exception; <<+; and, <<<<. As builtin, it adds the following: sscanf(3), <string.h>, <ctype.h> wrappers; array, regex(3), stack, queue operations; GDBM, SQLite, PostgreSQL, MySQL database interfaces; HTML template engine (BASP); Expat XML parser interface; x-y char plot; DOS, CSV, Awk support; Libwebserver interface; RPN calculator with <math.h> functions; and, GTK+2 interface for GUI dialog.
| Tags | Shells Database Front-Ends |
|---|---|
| Licenses | GPL |
| Implementation | Unix Shell |
Recent releases


Changes: When processing an embedded shell script using BASP (bash server pages) builtin commands, template segments were not fflush()'ed in the correct order. This bug was fixed long ago, and forgotten until now.


Changes: This release adds a 'pcursor' builtin that provides a simple stack of positional parameters. It is similar to when shell functions are called, except here, users "push" and "pop" manually. Shell emulation of 'strtok(3)' is added, which is useful when delimiters are not same for all tokens. Syntax for the 'strinterval' builtin has been changed to match 'matchinterval' for consistency. Finally, the 'monetra' builtin has been added for parsing the Montra IP format, which is another card processing middleware in the Retail/POS market.


Changes: This release changes the API for regex matching in the "match" builtin and the "case ... in" statement so that strings before and after a regex match are included in the returned variable. Also, the API and command to a read magnetic card swipe was changed from the "readtrack" builtin to the "cardswipe" builtin. To support POS integration of card processing, this release includes "protobase" and "multi" builtin commands to read and write the SDC Protobase in/out format and the TRS Multi in/out format, respectively.


Changes: The main feature of this release is the addition of "vcat", "vset", and "vfile" builtins to dump and reload shell variables to or from a file. As a special case, support for reading and writing the Protobase API file format has been added. Also, builtin commands to extract track data from a credit card swipe and to mask a card number have been added. Special parameter expansions, ${var|.cent} and ${var|.dollar} were added to help conversion to and from cents and dollars.


Changes: This release fixes a segfault which occurred when running pp_sort/pp_uniq on empty parameters (arg[] was returning NULL, instead of argv[0]=NULL).