tmuxでスクリプトが実行される回数を制限する方法は?

tmuxでスクリプトが実行される回数を制限する方法は?

私はウェブサイトにpingを送って、私が平日に何時間働いたかを示すスクリプトを持っています。私のステータスバーに表示したいのですが、tmux.conf1秒に1回実行されるスクリプトに問題があり、ネットワークがあふれているようです。<"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

おすすめ記事