3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/development/perl-modules/expression-generator/lib-cache.sh

20 lines
400 B
Bash
Raw Normal View History

# First argument: command to run
# Second argument: cache name
# Third argument: argument to command
# Fourth argument: cache type
cached_output () {
cmd="$1";
basename="$2";
arg="$3";
ext="$4";
if ! [ -e "cache-${ext//./-}/${basename}.${ext}" ]; then
mkdir -p "cache-${ext//./-}";
$cmd $arg > "cache-${ext//./-}/${basename}.${ext}";
fi;
cat "cache-${ext//./-}/${basename}.${ext}";
}