#!/bin/bash #przed uruchomieniem nalezy zadeklarowac zmienna srodowiskowa (np declare -x APIXUKEY=) oraz zainstalowac program jq api=$APIXUKEY LOCATION="Poznan" DYNAMIC=false FAHRENHEIT=false while getopts :l:fd OPT; do case $OPT in l) LOCATION="$OPTARG";; d) DYNAMIC=true;; f) FAHRENHEIT=true;; \?) echo "Bledna opcja: -$OPTARG" >&2 exit 1 ;; :)echo "Opcja -$OPTARG wymaga argumentu" >&2 exit 1 ;; esac done DATE=$(date -r /tmp/$LOCATION.json +%s) SYSDATE=$(date +%s) if [ $[$DATE+300] -lt $SYSDATE ] then curl "http://api.apixu.com/v1/current.json?key=$api&q=$LOCATION" -o /tmp/$LOCATION.json -# fi function weather { JSON=$(cat /tmp/$LOCATION.json) clear if [ $FAHRENHEIT != true ]; then echo "Kraj $(echo $JSON | jq -r '.location.country')" echo "Miasto $(echo $JSON | jq -r '.location.name')" echo "Czas lokalny $(echo $JSON | jq -r '.location.localtime')" echo "Temperatura $(echo $JSON | jq -r '.current.temp_c') °C" echo "Temperatura odczuwalna $(echo $JSON | jq -r '.current.feelslike_c') °C" echo "Predkosc wiatru $(echo $JSON | jq -r '.current.wind_kph') km/h" echo "Cisnienie $(echo $JSON | jq -r '.current.pressure_mb') hPa" echo "Opad $(echo $JSON | jq -r '.current.precip_mm') mm" echo "Wilgotnosc $(echo $JSON | jq -r '.current.humidity') %" echo "Ostatnia aktualizacja $(echo $JSON | jq -r '.current.last_updated')" else echo "Kraj $(echo $JSON | jq -r '.location.country')" echo "Miasto $(echo $JSON | jq -r '.location.name')" echo "Czas lokalny $(echo $JSON | jq -r '.location.localtime')" echo "Temperatura $(echo $JSON | jq -r '.current.temp_f') °F" echo "Temperatura odczuwalna $(echo $JSON | jq -r '.current.feelslike_f') °F" echo "Predkosc wiatru $(echo $JSON | jq -r '.current.wind_mph') mph" echo "Cisnienie $(echo $JSON | jq -r '.current.pressure_in') inHg" echo "Opad $(echo $JSON | jq -r '.current.precip_in') inches" echo "Wilgotnosc $(echo $JSON | jq -r '.current.humidity') %" echo "Ostatnia aktualizacja $(echo $JSON | jq -r '.current.last_updated')" fi } if $DYNAMIC == true then for ((;;)); do weather sleep 300 done else weather fi