1
#!/usr/bin/env bash
2
#
3
# $Id$
4
# Author: Markus Wenzel, TU Muenchen
5
# License: GPL (GNU GENERAL PUBLIC LICENSE)
6
7
# feeder - feed isabelle session
8
9
10
## diagnostics
11
12
PRG="$(basename "$0")"
13
DIR="$(dirname "$0")"
14
15
function usage()
16
{
17
echo
18
echo "Usage: $PRG [OPTIONS]"
19
20
echo " Options are:"
21
echo " -h TEXT head text"
22
echo " -p emit my pid"
23
echo " -q do not pipe stdin"
24
echo " -t TEXT tail text"
25
26
echo " Output texts (pid, head, stdin, tail), then wait to be terminated."
27
28
exit 1
29
}
30
31
function fail()
32
33
echo "$1" >&2
34
exit 2
35
36
37
38
## process command line
39
40
# options
41
42
HEAD=""
43
EMITPID=""
44
QUIT=""
45
TAIL=""
46
47
while getopts "h:pqt:" OPT
48
do
49
case "$OPT" in
50
h)
51
HEAD="$OPTARG"
52
;;
53
p)
54
EMITPID=true
55
56
q)
57
QUIT=true
58
59
t)
60
TAIL="$OPTARG"
61
62
\?)
63
usage
64
65
esac
66
done
67
68
shift $(($OPTIND - 1))
69
70
71
# args
72
73
[ "$#" -ne 0 ] && { echo "Bad args: $*"; usage; }
74
75
76
77
## main
78
79
#set by configure
80
AUTO_PERL=perl
81
82
exec "$AUTO_PERL" -w "$DIR"/feeder.pl "$HEAD" "$EMITPID" "$QUIT" "$TAIL"