我有一个脚本可以 ping 一个网站并告诉我一周工作了多少时间。我希望它出现在我的状态栏中tmux.conf
,但我遇到了脚本大约每秒运行一次的问题,这显然会淹没网络。有没有办法在不<"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