summaryrefslogtreecommitdiff
path: root/stdin-wrapper
blob: b3f9a2f9e2296ccbe59e9d09ae85d54453ad91bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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"