tmux 상태에 날씨 예보를 WebAPI에 부드럽게 표시

3387 단어 tmuxBash리눅스
tmux 상태에 날씨 예보를 작게 표시해 보았습니다.
tmux의 상태 간격은 60초 안에 API에 획득 제한 항목을 찾지 못했지만,
1시간에 4회 정도의 취득으로 끝나도록 WebAPI에 부드럽게 고안해 보았습니다.
다른 정기 실행에도 사용할 수 있다고 생각합니다.

환경: Centos6,7, jq 설치됨

이런 느낌





우선 취득 부분



날씨 정보 취득의 API를 이용해, 만드는 방법은 이하를 참조해 메시지를 「흐림」이라고만 했다.
  • jq를 사용하여 오늘 날씨 얻기

  • ID는 아래에서 확인
    htps : // 등 w. 기테부세 r 콘텐트 t. 코 m/카제부로/우ぇb세 rゔぃ세ーぃょ〇ㅇㅜㅜㅜㅜㅜㅜㅜㅜr/마s테 r/t/다타/p리마 ry_어라. xml
    #270000は大阪
    ABC=$(curl -s http://weather.livedoor.com/forecast/webservice/json/v1\?city\=270000 | jq -r '.forecasts[0].telop');
    

    WebAPI에 부드럽게 대응한 것



    환경 변수에 저장하여 재취득 시간까지 사용하도록 합니다.
    스테이터스의 인터벌이 길면 타이밍에 의해 파손되므로,
    놓치지 않도록 4로 나눈 만큼의 취득 여유를 취했습니다.
    ! 스테이터스 인터벌이 배인 사람은, 배로 해 여유를 좁혀 주세요.
    #!/bin/bash
    
    if [ -z $(echo $ABC)  ];#一回で書けるんだろうなぁ。
    then
            ABC=$(curl -s http://weather.livedoor.com/forecast/webservice/json/v1\?city\=270000 | jq -r '.forecasts[0].telop');
            export ABC
    fi
    if [ $(expr $(date +'%M') / 4) == '0'  ]; 
    then
            ABC=$(curl -s http://weather.livedoor.com/forecast/webservice/json/v1\?city\=270000 | jq -r '.forecasts[0].telop');
            export ABC
    fi
    echo $ABC
    

    .tmux.conf에 추가한다.
    set -g status-right ''\
    '#(source $HOME/weather.sh)'\
    

    ~ 스크립트는 동작, WebAPI의 제한에 대해 확인한 후 이용해 주세요~.

    좋은 웹페이지 즐겨찾기