--- README A tool to run embedded scripts. Bootstrap with ./shake bake.c then compile further with ./bake, install by running ./install.sh --- bake [-chln] [-s ] [ARGS...]; version 20240804 Bake is a simple tool meant to execute embedded shell commands within any file. It executes with /bin/sh the command after a "@BAKE " to the end of the line (a UNIX newline: '\n'). It expands some macros, @NAME - filename @SHORT - shortened filename @ARGS - other arguments to the program @LINE - line number at the selected @BAKE All macros can be exempted by prefixing them with a backslash, which'll be subtracted in the expansion. multi-line commands may be done by a leading backslash, which are NOT subtracted. It has five options, this message (-h, --help); prevents the execution of the shell command (-n, --dry-run); disable color (-c, --color); list (-l, --list) and select (-s, --select ) which respectively lists all @BAKE commands and select & run the Nth command. It roots the shell execution in the directory of the given file. Licensed under the public domain. --- Shake Bake was inspired by the Bash-based Shake utility (formerly eMake, he liked my suggestion for a name). It is included under authorization of its creator. The original version of Shake may be found at: Bake includes a modified Shake, both after installation and as a bootstrapper. The modified version includes all features of Bake with the exceptions of multi-line commands. It is not a general replacement for Bake. Changelog Bake was created on 2023/09/13, and is complete as of 2024/03/02. 24/08/04 - Updated version! Bake is has been finished for a while but I thought the code could use a checkup with GNU complexity, and this gave me a reason to rewrite the important parts into a more sane manner. I had, at the same time, been requested to extend Bake with the @LINE and list/select. The changeset is large enough to possibly introduce bugs, and the last version of Bake is, in my opinion, highly reliable. This newer version needs to be tested a bit more to confirm full compatibility. changes - Rewrite of the code; Removal of -x --expunge; Addition of @LINE & @NAME, list, & select.