Bash에서 변수를 "캐시"하는 방법은 무엇입니까?

Bash에서 변수를

10m마다 실행되는 bash 스크립트가 있습니다 cron. 스크립트는 특정 값(예: 변수 x = 값)에 대해 비용이 많이 드는 계산을 수행합니다. 이 값을 2~3시간 동안 "캐시"해야 합니다. 이 문제에 대한 가능한 해결책은 무엇입니까?

나는 노력했다메모리 캐시하지만 bash에서는 잘 작동하지 않는 것 같습니다.

ベストアンサー1

실제 계산을 수행하고 결과를 파일에 저장하는 두 번째 스크립트를 작성합니다.

# calculate $curval
printf '%s' "$curval" > /var/foo/value.txt

2~3시간마다 실행되도록 예약합니다 cron.

"10분마다" 스크립트에서는 파일에서 현재 값을 읽습니다.

curval=$(< /var/foo/value.txt)

value.txt좋은 개선점은 파일이 아직 존재하지 않는 경우 "10분마다" 스크립트에서 계산 스크립트를 호출하는 것입니다. crontab항목이 누락된 경우 항목을 추가하도록 할 수도 있습니다.

おすすめ記事