diff options
Diffstat (limited to 'stdin-wrapper')
-rwxr-xr-x | stdin-wrapper | 23 |
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" |