Initial commit of weather.sh script
This script retrieves current weather information from OpenWeatherMap API. It includes: - OpenWeatherMap API key for data retrieval. - Location settings for specifying the city and country. - API request using cURL to fetch weather data. - Extraction of relevant information from the JSON response using jq. - Conversion of temperature from Kelvin to Celsius. - Formulation of the weather information in a formatted English text. - Output of the weather information. Author: Michael Haider Date: 2024-02-08
This commit is contained in:
parent
0a77d93643
commit
a61f9f2d2d
40
weather.sh
Normal file
40
weather.sh
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# OpenWeatherMap Weather Script
|
||||||
|
# Author: Michael Haider
|
||||||
|
# Date: 2024-02-08
|
||||||
|
#
|
||||||
|
# This script retrieves current weather information from OpenWeatherMap API
|
||||||
|
# based on the specified city and country. It then extracts relevant data,
|
||||||
|
# converts temperature from Kelvin to Celsius, and outputs the information
|
||||||
|
# in a formatted English text.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# OpenWeatherMap API key
|
||||||
|
api_key="da7765a8c6d2975b7dfe68f2a1775631"
|
||||||
|
|
||||||
|
# Location settings
|
||||||
|
city="Pfarrkirchen"
|
||||||
|
country="de"
|
||||||
|
|
||||||
|
# Make API request and retrieve data
|
||||||
|
weather_data=$(curl -s "http://api.openweathermap.org/data/2.5/weather?q=${city},${country}&appid=${api_key}")
|
||||||
|
|
||||||
|
# Extract relevant information from the JSON response
|
||||||
|
description=$(echo "$weather_data" | jq -r '.weather[0].description')
|
||||||
|
temperature=$(echo "$weather_data" | jq -r '.main.temp')
|
||||||
|
humidity=$(echo "$weather_data" | jq -r '.main.humidity')
|
||||||
|
wind_speed=$(echo "$weather_data" | jq -r '.wind.speed')
|
||||||
|
|
||||||
|
# Convert temperature from Kelvin to Celsius
|
||||||
|
temperature_celsius=$(awk "BEGIN {print $temperature - 273.15}")
|
||||||
|
|
||||||
|
# Formulate the text in English
|
||||||
|
weather="Current weather in $city: $description.
|
||||||
|
The temperature is ${temperature_celsius}°C, humidity is ${humidity}%.
|
||||||
|
Wind speed is ${wind_speed} m/s."
|
||||||
|
|
||||||
|
# Output the text
|
||||||
|
echo "$weather"
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user