tmux에서 스크립트가 실행되는 횟수를 제한하는 방법은 무엇입니까?

tmux에서 스크립트가 실행되는 횟수를 제한하는 방법은 무엇입니까?

나는 웹사이트에 ping을 보내서 내가 주중에 몇 시간 일했는지 알려주는 스크립트를 가지고 있습니다. 내 상태 표시줄에 표시하고 싶지만 tmux.conf1초에 한 번씩 실행되는 스크립트에 문제가 있어 네트워크가 넘쳐나는 것 같습니다. <"cmd" not ready>tmux 텍스트를 표시하지 않고 이런 일이 발생하지 않도록 제한하는 방법이 있습니까 ?

현재 내 안에는 tmux.conf이 명령이 있습니다.

set -g status-right '#[fg=colour6,bold]#(watch -n 60 zsh ~/directory/src/directory/scripts/time.zsh)'

하지만 실행되면

<'watch -n 60 zsh ~/directory/src/directory/scripts/time.zsh' not ready>

마지막으로 실행된 시간을 유지하고 이 메시지를 표시하지 않는 방법이 있습니까? 감사해요.

답변1

스크립트 time.zsh를 수정하여 결과를 파일에 캐시하고 스크립트가 호출될 때마다 파일의 수명을 테스트할 수 있습니다.

CACHE_OUTPUT=/tmp/resul-cache.txt
AGE_TO_CACHE=10
if [ $(( $( stat --format=%Y $CACHE_OUTPUT ) + $AGE_TO_CACHE )) -gt $( date +%s ) && echo too old ) ] ;
then
    cat $CACHE_OUTPUT
    exit 0
fi
(
    # where you fetch 
    # ...
    # 
) > $CACHE_OUTPUT

관련 정보