In a shell script, a semi-colon indicates that the next command should run regardless of if the preceding command succeeds. However, in run_cmd!, a semi-colon behaves like && instead. Ideally, both && and ; would be supported and behave like they do in a shell command, or if that's not possible, the README would make it extra clear how it differs.
You can consider this library is doing set -euo pipefail for your script to try to catch all the errors, without introducing other pitfalls. Yeah, I can try to update the README a little bit more.
In a shell script, a semi-colon indicates that the next command should run regardless of if the preceding command succeeds. However, in run_cmd!, a semi-colon behaves like
&&
instead. Ideally, both&&
and;
would be supported and behave like they do in a shell command, or if that's not possible, the README would make it extra clear how it differs.