Comment puis-je "mettre en cache" une variable dans Bash?

J'ai un script bash qui est exécuté tous les 10m par cron . Le script effectue un calcul coûteux pour une certaine valeur (disons la variable x = valeur). J'ai besoin de "mettre en cache" cette valeur pendant 2-3 heures. Quelles sont les solutions possibles à ce problème?

J'ai essayé memcached mais ça ne semble pas bien jouer avec bash.

Ecrire un deuxième script qui effectue le calcul réel et enregistre le résultat dans un file:

 # calculate $curval echo $curval > /var/foo/value.txt 

Planifiez-le avec cron pour courir toutes les 2-3 heures.

Dans le script "toutes les 10 minutes", il suffit de lire la valeur actuelle du file:

 curval=`cat /var/foo/value.txt` 

Un raffinement agréable consiste à appeler le script de calcul à partir du script "toutes les 10 minutes" si le file value.txt n'existe pas encore. Vous pouvez même append l'input crontab si elle est manquante.

Je suis d'accord avec l'écriture du résultat dans un file, définissez la variable dans le file

 curval=the_value 

Puis dans le shell (ou un autre script)

 source current_variable_value_result_file