Yet another reminder that you have to think about file IO as a concurrency problem: https://thomask.sdf.org/blog/2019/11/09/take-care-editing-bash-scripts.html
Take care editing bash scripts

Imagine I write the following bash script and call it delay.sh. What do you suppose happens when I run ./delay.sh?#!/bin/bashsleep 30#rm -rf --no-preserve-ro...

@pervognsen the filesystem is the worst IPC method... needlessly hierarchical but not actually hierarchical (e.g. you can't lock or delete a directory and its contents), requires names but not fully arbitrary names, has busted atomicity/locking and ties access control to UIDs and with only a bolted-on, hard-to-shore-up capability interface. and you're required to use this broken IPC system for any data you want persisted, but you can't even cheaply query (much less assume) integrity across runs!