#!/usr/bin/env bash FILE="${PARUPDATE_FILE:-/tmp/.update}" TIME_MIN="${PARUPDATE_TIME:-30}" fetch_upd() { paru -Syy >/dev/null 2>&1 write_upd } write_upd() { paru -Qu 2>/dev/null | wc -l >"$FILE" } get_upd() { if [[ -f "$FILE" ]]; then cat "$FILE" else echo "0" fi } age() { local now file_date diff now=$(date +%s) file_date=$(stat -c '%Y' -- "$FILE" 2>/dev/null || echo 0) diff=$(( now - file_date )) echo "$diff" } TIME_SEC=$(( TIME_MIN * 60 )) if [[ ! -f "$FILE" || $(age) -ge "$TIME_SEC" ]]; then fetch_upd fi get_upd