#!/bin/bash #Arguments CMD=$2 CACHE_TIME=$1 #Constants TMPDIR="/tmp/cache" [ -d "$TMPDIR" ] || mkdir -p "$TMPDIR" HASH=$(echo "$CMD" | base64) CACHE_FILE="$TMPDIR/$HASH" if [ -f "$CACHE_FILE" ]; then CACHE_AGE=$[ $(date +"%s") - $(stat -c "%Y" "$CACHE_FILE") ] if [ $CACHE_AGE -lt $CACHE_TIME ]; then cat "$CACHE_FILE" else $CMD | tee "$CACHE_FILE" fi else $CMD | tee "$CACHE_FILE" fi