summaryrefslogtreecommitdiff
path: root/stdin-wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'stdin-wrapper')
-rwxr-xr-xstdin-wrapper23
1 files changed, 23 insertions, 0 deletions
diff --git a/stdin-wrapper b/stdin-wrapper
new file mode 100755
index 00000000..b3f9a2f9
--- /dev/null
+++ b/stdin-wrapper
@@ -0,0 +1,23 @@
+#!/bin/bash -eu
+
+# This script implements a wrapper for any program which does not accept
+# stdin input on most Unix machines. The input to the script is read to a
+# temporary file, and the first argument sets a particular file extension
+# for the temporary file.
+#
+# All of the following arguments are read as command to run.
+
+file_extension="$1"
+shift
+
+temp_file=`mktemp`
+mv "$temp_file" "$temp_file$file_extension"
+temp_file="$temp_file$file_extension"
+
+trap "rm $temp_file" EXIT
+
+while read; do
+ echo "$REPLY" >> "$temp_file"
+done
+
+"$@" "$temp_file"