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