I usually write “POSIXy shell” but I thought that was clear from context this time.
The problem is that exit statuses !=0 aren’t treated as error by default (with a way to turn that off for individual expressions). Instead you have to set multiple settings and avoid certain constructs in bash/ZSH/…
Everything that works like a modern programming language by default is fine of course
Great path, your Rust (and e.g. Python) will benefit a lot in the medium term. Medium because if you’re anytging like me, you’ll overcorrect at first and try to do everything without variables lol