#!/bin/bash
@@@START@@@
echo "# Build date: $(date)"
@@@END@@@
echo "Hello World!"By running the preprocessor on this file, the code between @@@START@@@ and @@@END@@@ will be executed and replaced by its output.
#!/bin/bash
# Build date: Sun Jun 28 15:31:07 CEST 2020
echo "Hello World!"Stuff can be imported from other scripts at runtime using source, but sometimes a self-contained script is better.
#!/bin/bash
@@@START@@@
cat another-script-file.sh
@@@END@@@
echo "Hello World!"In this case, the resulting script file will contain everything from the other script file as well.
-
Get
preprocess.sh:- grab and extract a release
- clone this repository
- simply copy
preprocess.sh
-
Run the script to preprocess a file (it will change its contents in place):
./preprocess.sh <path-to-file>
If needed the @@@START@@@ and @@@END@@@ tokens can be customized with an optional 2nd and 3rd argument:
./preprocess.sh <path-to-file> "<custom start token>" "<custom end token>"