Python as a shell replacement
Python as a shell replacement
Posted Dec 14, 2019 0:08 UTC (Sat) by karkhaz (subscriber, #99844)In reply to: Python as a shell replacement by marcH
Parent article: Creating Kubernetes distributions
I occasionally use a combined shell script/makefile if I care about catching errors on each command:
#!/bin/sh
# vim:set syntax=make:set ft=make:
MAKEFILE_START_LINE=$(\
grep -nre makefile_starts_here "$0" \
| tail -n 1 \
| awk -F: '{print $1}')
TMP=$(mktemp)
tail -n+${MAKEFILE_START_LINE} "$0" > "${TMP}"
make -f "${TMP}"
SUCCESS=$?
rm -f "$TMP"
exit "$SUCCESS"
makefile_starts_here:
command-1
command-2
command-3
This prints out everything below and including "makefile_starts_here" to a Makefile and then runs make on it, executing the commands one at a time. This is especially nice if I want built-in parallelism etc, it's actually even better than just using the shell (just ensure to print out "MAKEFLAGS=-j" at the top of the file).
