Я ищу реализацию команды "cacheme", которая " memoizes" выводит все, что есть в ARGV. Если он никогда не запускал его, он запускает его и несколько запоминает результат. Если он запустит его, он просто скопирует вывод файла (или даже лучше, как выход, так и ошибку в & 1 и 2 соответственно).
Предположим, что кто-то написал эту команду, он будет работать следующим образом.
$ time cacheme sleep 1 # first time it takes one sec
real 0m1.228s
user 0m0.140s
sys 0m0.040s
$ time cacheme sleep 1 # second time it looks for stdout in the cache (dflt expires in 1h)
#DEBUG# Cache version found! (1 minute old)
real 0m0.100s
user 0m0.100s
sys 0m0.040s
Этот пример немного глуп, потому что он не имеет выхода. В идеале это было бы протестировано на script подобно sleep1-and-echo-hello-world.sh.
Я создал небольшой script, который создает файл в/tmp/с hash с полным именем команды и именем пользователя, но я уверен, что что-то уже существует.
Знаете ли вы об этом?