From f005fbf41646437964458d4c2028e6fdc04b59a1 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Fri, 18 Nov 2022 18:07:38 +0100 Subject: bin: add a few scripts --- bin/sponge | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 bin/sponge (limited to 'bin/sponge') diff --git a/bin/sponge b/bin/sponge new file mode 100755 index 0000000..7d106b4 --- /dev/null +++ b/bin/sponge @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e +[ -n "$DEBUG" ] && set -x + +append= +while getopts ah opt; do + case "$opt" in + a) append=1 ;; + h | ?) + printf "usage: %s [-ah]\n\n" "$(basename "$0")" + exit 2 + ;; + esac +done +shift $((OPTIND - 1)) +outname=$1 + +tmpfile=$(mktemp) +trap '{ rm "$tmpfile"; }' EXIT + +cat - >"$tmpfile" + +if [ -n "$outname" ]; then + ( + if [ -n "$append" ]; then + tee -a "$outname" >/dev/null + else + tee "$outname" >/dev/null + fi + ) <"$tmpfile" +else + cat "$tmpfile" +fi -- cgit 1.4.1