1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
|
#! /bin/sh
# @(#)gomidas.sh 19.1 (ESO-IPG) 02/25/03 14:31:59
# .COPYRIGHT: Copyright (c) 1988 European Southern Observatory,
#
# .TYPE command
# .NAME gomidas
# .LANGUAGE Bourne-shell script
# .ENVIRONMENT Unix Systems. Executable under any SHELL.
# .USAGE gomidas [-d display] [-m mid_work]
# display: X server for display and graphical windows.
# mid_work: MIDAS startup directory (default: $HOME/mid_work)
#
# .COMMENTS Resume a stopped session of MIDAS. It uses the following
# environment MID_WORK and DISPLAY
# variables if they exist, otherwise takes defaults.
# It checks arguments if any and exec to
# $MIDASHOME/$MIDVERS/monit/prepa.exe
#
# .VERSION 1.1 900308: KB. Implementation
# .VERSION 2.1 920221: CG. Adapted to Unix scripts.
# .VERSION 3.1 930706: CG. Simplified and passing arguments.
#**************************************************************************
#
# Check for options:
#
while [ -n "$1" ]
do
case $1 in
-d) DISPLAY=$2; export DISPLAY; shift; shift ;;
-m) MID_WORK=$2; export MID_WORK; shift; shift ;;
*) echo "Usage: gomidas [-d DISPLAY] [-m MID_WORK]"; exit 1 ;;
esac
done
if [ -z "$MID_WORK" ]; then
MID_WORK=$HOME/midwork/ ; export MID_WORK
fi
#
# if last char. of MID_WORK != '/' append a '/'
#
if [ `expr $MID_WORK : '.*\(.\)'` != '/' ]; then
MID_WORK=$MID_WORK/ ; export MID_WORK
fi
if [ ! -d $MID_WORK ]; then
echo "Directory $MID_WORK does not exist"
echo "Run inmidas first. EXIT."
exit 1
fi
#
# Strip "/dev/", strip "pty/" (HP), "pts/" (IBM), and "tty" (all)
#
if ( tty -s )
then
tt=`tty | sed -e 's/^.*dev\///' -e 's/pty\///' -e 's/pts\///' -e 's/tty//'`
else
tt=none
fi
#
# Get's environment from previous inmidas
#
if [ ! -f $MID_WORK/.inmidas.$tt ]; then
if [ ! -f $MID_WORK/.inmidas ]; then
echo "No MIDAS session finished yet."
echo "Run inmidas first. EXIT."
exit 1
else
. $MID_WORK/.inmidas
cp $MID_WORK/.inmidas $MID_WORK/.inmidas.$tt
fi
else
. $MID_WORK/.inmidas.$tt
fi
#
# Check if there is a running session already for DAZUNIT.
#
if [ -f "$MID_WORK/RUNNING$DAZUNIT" ]; then
echo "Unit $DAZUNIT is locked by another MIDAS session. EXIT."
exit 1
fi
#
# Check access to directories and files
#
if [ ! -d $MIDASHOME ]; then
echo "${MIDASHOME}: not such directory."
echo "Call your MIDAS operator. EXIT."
exit 1
fi
if [ ! -d $MIDASHOME/$MIDVERS ]; then
echo "$MIDASHOME/${MIDVERS}: not such directory."
echo "Call your MIDAS operator. EXIT."
exit 1
fi
#
# get all the variables (logical names)
#
if [ -f $MIDASHOME/$MIDVERS/monit/midlogs.sh ]; then
. $MIDASHOME/$MIDVERS/monit/midlogs.sh
else
echo "$MIDASHOME/$MIDVERS/monit/midlogs.sh not such file."
echo "Call your MIDAS operator. EXIT."
exit 1
fi
#
# logical assignements to devices.
#
if [ -f $MID_WORK/devices.sh ] ; then
. $MID_WORK/devices.sh
else
. $MIDASHOME/$MIDVERS/monit/devices.sh
fi
#
# Catch any possible interrupt and remove the lock file
#
trap "rm -f $MID_WORK/RUNNING$DAZUNIT; exit 1" 1 2 3 15
touch $MID_WORK/RUNNING$DAZUNIT
#
# set TERMWIN to "yes" in any other previous release to 94NOV
#
#if [ -z "$TERMWIN" -a "$MIDVERS" != "94NOV" ]; then
# TERMWIN=yes; export TERMWIN
#fi
#
# Ignore CTRL-C before runnning prepa.exe
#
trap "" 2
#
# Set PATH for shared libraries
#
os=`uname`
case "$os" in
"SunOS"|"Linux")
if [ -z "$LD_LIBRARY_PATH" ] ; then
LD_LIBRARY_PATH=$MIDASHOME/$MIDVERS/lib
else
LD_LIBRARY_PATH=$MIDASHOME/$MIDVERS/lib:$LD_LIBRARY_PATH
fi
export LD_LIBRARY_PATH
;;
"HP-UX")
if [ -z "$SHLIB_PATH" ] ; then
SHLIB_PATH=$MIDASHOME/$MIDVERS/lib
else
SHLIB_PATH=$MIDASHOME/$MIDVERS/lib:$SHLIB_PATH
fi
export SHLIB_PATH
;;
*)
;;
esac
#
# run PREPA
#
$MID_MONIT/prepa.exe
if [ $? = 1 ] ; then
echo "...Midas session aborted..."
rm -f $MID_WORK/RUNNING$DAZUNIT
exit 1
fi
cp $MID_WORK/.inmidas.$tt $MID_WORK/.inmidas
rm -f $MID_WORK/RUNNING$DAZUNIT
exit 0
|