.TH BAKE "1" "August 2024" "bake 20240804" "User Commands" .SH NAME .B bake \- file embeddable scripts .SH SYNOPSIS .B bake [\-chlnx] [\-s ] [ARGS...] .SH DESCRIPTION bake is a simple tool meant to execute embedded shell commands within any file. It executes with /bin/sh the command after a "\fB@BAKE\fP " to the end of the line (a UNIX newline: '\fB\\n\fP'). This format may be embedded within \fBbinary files\fP, or any file where no unwanted preceding instance of \fB@BAKE\fP appears. It roots the shell execution in the directory of the given file. Options must always be put first, and short options may be merged together, numerical options must be trailing. .HP \fB\-c \-\-color\fP, Disables color \-h \-\-help, Help message \fB\-n \-\-dry\-run\fP, don't execute anything \fB\-l \-\-list\fP, lists available shell commands \fB\-s \-\-select\fP <\FBn\fP>, selects Nth shell command \fB\-x \-\-expunge\fP, Removes what's specified in the expunge block .PP Macros 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. These macros will expand to their counterpart before execution. .TP .B @FILENAME, @NAME, $@ returns target\-file (abc.x.txt) .TP .B @SHORT, $* returns target\-file without suffix (abc.x.txt \-> abc.x) .TP .B @ARGS, $+ returns .B arguments .TP .B @LINE returns the line number .PP Additional Features And Notes Shell execution may be disabled with the \fB-n\fP or \fB--dry-run\fP option. Expunge removes exactly one file specified in the @{...} format. You may use backslashes to remove .SH EXAMPLE .\" SRC BEGIN (example.c) .EX // example.c @BAKE cc -o @SHORT @NAME @ARGS #include int main (void) { puts("Hello."); return 0; } .EE .SH COPYRIGHT .PP Licensed under the public domain.