Я хочу найти текущую погоду конкретного города или моего местоположения с терминала. Есть ли приложение погоды в командной строке?
Найдите свой город по адресу http://www.accuweather.com и замените URL-адрес в следующем скрипте URL-адресом вашего города:
#!/bin/sh
URL='http://www.accuweather.com/en/de/berlin/10178/weather-forecast/178087'
wget -q -O- "$URL" | awk -F\' '/acm_RecentLocationsCarousel\.push/{print $2": "$16", "$12"°" }'| head -1
Пример вывода:
[ f2]Вот отличная полуграфическая утилита командной строки, написанная в Go:
https://github.com/schachmat/wego/
Вам нужно будет установить Go и настройте некоторые материалы API, но инструкции есть. Вот пример pic:
У меня есть еще один способ.
Откройте файл .bashrc, а затем вставьте этот код внизу
weather(){ curl -s "http://api.wunderground.com/auto/wui/geo/ForecastXML/index.xml?query=${@:-<YOURZIPORLOCATION>}"|perl -ne '/<title>([^<]+)/&&printf "%s: ",$1;/<fcttext>([^<]+)/&&print $1,"\n"';}
Затем сохраните & amp; закройте файл .bashrc.
теперь введите bash, чтобы обновить файл.
затем введите
weather <location name>
например
[ f3]Попробуйте использовать
telnet rainmaker.wunderground.com
Сначала вам нужно установить пакет weather-util, для этого просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите следующие команды:
sudo apt-get install weather-util
Вам понадобится ваш местный кодекс погоды.
После установки вы можете запустить weather -i <code>. Код, который вы получаете по ссылке выше. Список доступных опций можно запустить weather Погода info
ansiweather
AnsiWeather - это сценарий оболочки для отображения текущих погодных условий в вашем терминале с поддержкой цветов ANSI и символов Unicode. Данные о погоде поступают из API бесплатной погоды OpenWeatherMap.
sudo apt-get install ansiweather
ansiweather -l London,GB -f 3
London forecast => Sat Jan 13: 7/2 °C ☔ - Sun Jan 14: 4/1 °C ☔ - Mon Jan 15: 9/6 °C ☔
https://github.com/fcambus/ansiweather
У меня есть еще один способ.
Откройте ваш .bashrc-файл, а затем вставьте этот код внизу
test -f ~/.wttr.in || curl -sk wttr.in -o ~/.wttr.in
find ~ -maxdepth 1 -name .wttr.in -cmin +5 -exec curl -sk wttr.in -o ~/.wttr.in \;
head -7 ~/.wttr.in | tail -5
W(){ find ~ -maxdepth 1 -name .wttr.in -cmin +5 -exec curl -sk wttr.in -o ~/.wttr.in \;; head -27 ~/.wttr.in; }
Затем сохраните & amp; закройте файл .bashrc. теперь введите bash для обновления файла.
, затем введите W верхний регистр
Для получения более коротких погодных условий http://weather.tuxnet24.de предоставляет данные о погоде от Yahoo! в текстовом и XML-формате.
Затем файлы fild из XML могут быть получены с помощью синтаксического анализатора XML, такого как xmllint, т. е.
Я написал сценарий q & amp; d weather-fetch, который получает текущую температуру и описание погоды, затем сохраняет символ юникода, соответствующий описанию, и выводит его как
☂ 6 ° C
Я регулярно обновляю через cronjob, а затем использую вывод в мой лоток.
Получите свой ID на yahoocom / новости / погода. Измените местоположение на нужное место и найдите идентификатор в URL-адресе (т. Е. Если URL-адрес yahoocom / news / weather / germany / north-rhine-westphalia / bielefeld-20066057, ID равен 20066057).
XML содержит дополнительные поля, т. е. данные прогноза, ветер и т. д. - вы также можете их проанализировать.
К сожалению, некоторые символы погоды не представлены в Ubuntufont ... не стесняйтесь настраивать 10] Вот мой сценарий (замените 20066057 вашим ID, если вы не живете в Билефельде) - зависит от bash, curl и xmllint.
#!/bin/sh
#☁☂☔❄❅❆☃ ☀☁☂⚡⚐☼
# write xml to variable
w_xml=$(curl --silent "http://weather.tuxnet24.de/?id=20066057&mode=xml");
# get fields from xml via xmllint | xargs for trimming
# weather description
w_txt=$(xmllint --xpath "string(//current_text)" - <<<"$w_xml" | xargs);
# temperature | remove spaces from text (°C prepended by space)
w_tpc=$(xmllint --xpath "string(//current_temp)" - <<<"$w_xml" | xargs); w_tpc=${w_tpc//[[:blank:]]/};
# further fields not used atm
# w_tph=$(xmllint --xpath "string(//current_temp_high)" - <<<"$w_xml" | xargs);
# w_tpl=$(xmllint --xpath "string(//current_temp_low)" - <<<"$w_xml" | xargs);
# set $w_sym according to $w_txt
if [ "$w_txt" == "Sunny" ]; then w_sym="☼";
elif [ "$w_txt" == "Mostly Sunny" ]; then w_sym="☼";
elif [ "$w_txt" == "Showers" ]; then w_sym="☂";
elif [ "$w_txt" == "Clear" ]; then w_sym="☾";
elif [ "$w_txt" == "Thunderstorms" ]; then w_sym="⚡";
elif [ "$w_txt" == "Scattered Thunderstorms" ]; then w_sym="☔";
elif [ "$w_txt" == "Isolated Thundershovers" ]; then w_sym="☔";
elif [ "$w_txt" == "Cloudy" ]; then w_sym="☁";
elif [ "$w_txt" == "Mostly Cloudy" ]; then w_sym="☁";
elif [ "$w_txt" == "Partly Cloudy" ]; then w_sym="☼☁";
elif [ "$w_txt" == "Breezy" ]; then w_sym="⚐";
# if unknown text, set text instead of symbol
else w_sym=$w_txt;
fi
# output <symbol><space><temp-in-°C>
echo "$w_sym"" ""$w_tpc";
Несмотря на то, что решение для скручивания accuweather довольно хорошее, мне нужно было что-то более информативное, поэтому я создал простой скрипт bash, который извлекает информацию в течение следующих 4 часов с сайта weather.com. Как и в предыдущем примере, вам нужно изменить ссылку для своего местоположения.
Example output:
$ ./getWeather.sh
Temperature for 1 AM : 65°F and outside should be: Partly - Cloudy FEELS LIKE: 65°
Temperature for 2 AM : 65deg;F and outside should be: Partly - Cloudy FEELS LIKE: 65deg;
Temperature for 3 AM : 63deg; and outside should be: Partly - Cloudy FEELS LIKE: 63deg;
Temperature for 4 AM : 62deg; and should be: Mostly - Clear FEELS LIKE: 62deg;
Полный скрипт находится по адресу: https://sites.google.com/site/wozoopalinux/home/wzbash001/get-weather -информация-из-команды-линия для-следующей-4-ч
также программа, которая поставляется с предустановленной с помощью ubuntu с именем inxi, даст вам все типы статистики на вашем компьютере и делает выход по погоде.
команда: inxi --help
2]: inxi -w Conditions: 82 F (28 C) - Clear Time: May 13, 10:52 AM CDT
команда: inxi -wxxx
Conditions: 82 F (28 C) - Clear Wind: From the SW at 13 MPH Humidity: 60%
Pressure: 29.99 in (1016 mb) Heat Index: 84 F (29 C)
Location: city (USA) Altitude: 185 m
Time: May 13, 10:52 AM CDT (America/Chicago) Observation Time: May 13, 9:54 AM CDT
Вы можете сравнивать города, используя:
diff -Naur <(curl -s http://wttr.in/london ) <(curl -s http://wttr.in/new-york )
, как показано в ответе на верхний голос. wttr.in также делает большой экран «всплеска» каждый раз, когда вы открываете терминал. Сделайте это, добавив его в свой файл ~/.bashrc. Я сделал это, чтобы включить информацию о погоде, дате, времени и распределении, как подробно описано в этом ответе: Как я могу получить этот экран заставки терминала?
Как я могу получить этот экран заставки терминала? [ ! d2]
Извините, что я был в Ubuntu в Windows 10 WSL для обновлений Spring 2018, когда я захватил это изображение. Обещаю, что скоро вернусь в Ubuntu в Linux.