#!/bin/bash # Checks to see if GPS is acquired RET=0 NTPQP=$( /usr/bin/ntpq -p ) #echo "$NTPQP" # Find line nr with GPS_NME i=-1 j=-1 while read REMOTE REFID ST T WHEN POLL REACH DELAY OFFSET JITTER do if ( echo $REMOTE | egrep "(NMEA|127[.]127[.]20[.])" > /dev/null ) then let j=i break fi let i+=1 done <<< "${NTPQP}" if [ $j -lt 0 ] then # Not found echo 0 exit 0 fi # Find line nr with assID let i=-2 NTPQP=$( /usr/bin/ntpq -c lassociations ) while read IND ASSID STATUS CONF REACH AUTH CONDITION LAST_EVENT CNT do if [ $i -eq $j ] then break fi let i+=1 done <<< "${NTPQP}" # Get the data NTPQP=$( /usr/bin/ntpq -c "cv $ASSID" ) #echo ${NTPQP} # Process the data # Set the field separator to newline IFS=$'\n' while read LINE do if ( echo $LINE | /bin/grep 'GPRMC' > /dev/null ) then if ( echo $LINE | /usr/bin/awk -F\* '{print $1} ' | \ /usr/bin/awk -F, '{print $3 }' | \ /bin/grep '^A$' > /dev/null ) then RET=1 fi break fi done <<< "${NTPQP}" echo $RET