Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

schedule_iss.sh 1.6 KiB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/bash
  2. ## debug
  3. # set -x
  4. ## import common lib
  5. . "$HOME/.noaa.conf"
  6. . "$NOAA_HOME/common.sh"
  7. SAT_MIN_ELEV=10
  8. PREDICTION_START=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/amateur.tle -p "${1}" | head -1)
  9. PREDICTION_END=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/amateur.tle -p "${1}" | tail -1)
  10. var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1)
  11. MAXELEV=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/amateur.tle -p "${1}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}')
  12. while [ "$(date --date="@${var2}" +%D)" = "$(date +%D)" ]; do
  13. START_TIME=$(echo "$PREDICTION_START" | cut -d " " -f 3-4)
  14. var1=$(echo "$PREDICTION_START" | cut -d " " -f 1)
  15. var3=$(echo "$START_TIME" | cut -d " " -f 2 | cut -d ":" -f 3)
  16. TIMER=$(expr "${var2}" - "${var1}" + "${var3}")
  17. OUTDATE=$(date --date="TZ=\"UTC\" ${START_TIME}" +%Y%m%d-%H%M%S)
  18. if [ "${MAXELEV}" -gt "${SAT_MIN_ELEV}" ]
  19. then
  20. SATNAME=$(echo "$1" | sed "s/ //g")
  21. echo ${SATNAME} "${OUTDATE}" "$MAXELEV"
  22. echo "${NOAA_HOME}/receive_iss.sh \"${1}\" $2 ISS${OUTDATE} "${NOAA_HOME}"/predict/amateur.tle \
  23. ${var1} ${TIMER} ${MAXELEV}" | at "$(date --date="TZ=\"UTC\" ${START_TIME}" +"%H:%M %D")"
  24. fi
  25. NEXTPREDICT=$(expr "${var2}" + 60)
  26. PREDICTION_START=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/amateur.tle -p "${1}" "${NEXTPREDICT}" | head -1)
  27. PREDICTION_END=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/amateur.tle -p "${1}" "${NEXTPREDICT}" | tail -1)
  28. MAXELEV=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/amateur.tle -p "${1}" "${NEXTPREDICT}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}')
  29. var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1)
  30. done