#!/usr/bin/env bash command -v jq >/dev/null 2>&1 || { echo >&2 "Program 'jq' required but it is not installed. Aborting."; exit 1; } command -v wget >/dev/null 2>&1 || { echo >&2 "Program 'wget' required but is not installed. Aborting."; exit 1; } # To use this script you need to create an API key here https://home.openweathermap.org # You need to put your Open Weather APIKEY here: APIKEY="keykey" # find your City ID here: https://openweathermap.org/ # search for your city and copy the ID from the URL inside the browser. CITY_ID="idid" URL="http://api.openweathermap.org/data/2.5/weather?id=${CITY_ID}&units=metric&APPID=${APIKEY}" WEATHER_RESPONSE=$(wget -qO- "${URL}") WEATHER_CONDITION=$(echo $WEATHER_RESPONSE | jq '.weather[0].main' | sed 's/"//g') WEATHER_TEMP=$(echo $WEATHER_RESPONSE | jq '.main.temp') WIND_DIR=$( echo "$WEATHER_RESPONSE" | jq '.wind.deg') WIND_SPEED=$( echo "$WEATHER_RESPONSE" | jq '.wind.speed') WIND_SPEED=$(awk "BEGIN {print 60*60*$WIND_SPEED/1000}") WIND_DIR=$(awk "BEGIN {print int(($WIND_DIR % 360)/22.5)}") DIR_ARRAY=( N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW N ) WIND_DIR=${DIR_ARRAY[WIND_DIR]} case $WEATHER_CONDITION in 'Clouds') WEATHER_ICON="" ;; 'Rain') WEATHER_ICON="" ;; 'Snow') WEATHER_ICON="" ;; *) WEATHER_ICON="" ;; esac echo "${WEATHER_ICON} ${WEATHER_TEMP}°C: ${WIND_SPEED} km/h ${WIND_DIR}"