ARGVにあるものの出力を「メモ化」する「 cacheme」コマンドの実装を探しています。実行したことがない場合は、実行し、出力をいくらか記憶します。実行した場合は、ファイルの出力をコピーするだけです (さらに良いことに、出力とエラーの両方をそれぞれ &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
この例は、出力がないため、少しばかげています。sleep-1-and-echo-hello-world.shのようなスクリプトでテストするのが理想的です。
完全なコマンド名とユーザー名のハッシュを使用して /tmp/ にファイルを作成する小さなスクリプトを作成しましたが、何かが既に存在していると確信しています。
これについて何か知っていますか?