| author | wenzelm |
| Fri, 12 Apr 2013 17:56:51 +0200 | |
| changeset 51704 | 0b0fc7dc4ce4 |
| parent 50197 | b385d134926d |
| child 54683 | cf48ddc266e5 |
| permissions | -rwxr-xr-x |
#!/usr/bin/env bash # # Author: Markus Wenzel, TU Muenchen # # DESCRIPTION: display document (in DVI or PDF format) PRG="$(basename "$0")" function usage() { echo echo "Usage: isabelle $PRG [OPTIONS] FILE" echo echo " Options are:" echo " -c cleanup -- remove FILE after use" echo echo " Display document FILE (in DVI or PDF format)." echo exit 1 } function fail() { echo "$1" >&2 exit 2 } ## process command line # options CLEAN="" while getopts "c" OPT do case "$OPT" in c) CLEAN=true ;; \?) usage ;; esac done shift $(($OPTIND - 1)) # args [ "$#" -ne 1 ] && usage FILE="$1"; shift ## main [ -f "$FILE" ] || fail "Bad file: $FILE" case "$FILE" in *.dvi) VIEWER="$DVI_VIEWER" ;; *.pdf) VIEWER="$PDF_VIEWER" ;; *) fail "Unknown file type: $FILE"; esac if [ -n "$CLEAN" ]; then PRIVATE_FILE="${ISABELLE_TMP:-/tmp}/$$"$(basename "$FILE") mv "$FILE" "$PRIVATE_FILE" || fail "Cannot move file: $FILE" eval "$VIEWER \"$PRIVATE_FILE\"" sleep 5 #try to avoid races rm -f "$PRIVATE_FILE" else eval "$VIEWER \"$FILE\"" fi