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