#!/bin/bash lat=$(echo $1 | tr -cd '[:digit:].-') lon=$(echo $2 | tr -cd '[:digit:].-') if ! awk "BEGIN{ exit ($lat > 90) }" || ! awk "BEGIN{ exit ($lat < -90) }"; then echo echo "Invalid latitude: $lat" echo "Latitude must be between -90 and 90" echo echo "Example format for latitude: 51.528308" echo echo "Usage:" echo "readsb-set-location 51.52830 -0.38178" echo exit 1 fi if ! awk "BEGIN{ exit ($lon > 180) }" || ! awk "BEGIN{ exit ($lon < -180) }"; then echo echo "Invalid longitude: $lon" echo "Longitude must be between -180 and 180" echo echo "Example format for latitude: -0.38178" echo echo "Usage:" echo "readsb-set-location 51.52830 -0.38178" echo exit 1 fi echo echo "setting Latitude: $lat" echo "setting Longitude: $lon" echo if ! grep -e '--lon' /etc/default/readsb &>/dev/null; then sed -i -e 's/DECODER_OPTIONS="/DECODER_OPTIONS="--lon -0.38178 /' /etc/default/readsb; fi if ! grep -e '--lat' /etc/default/readsb &>/dev/null; then sed -i -e 's/DECODER_OPTIONS="/DECODER_OPTIONS="--lat 51.52830 /' /etc/default/readsb; fi sed -i -E -e "s/--lat .?[0-9]*.?[0-9]* /--lat $lat /" /etc/default/readsb sed -i -E -e "s/--lon .?[0-9]*.?[0-9]* /--lon $lon /" /etc/default/readsb systemctl restart readsb