TIL: run vs source
Different ways to run bash commands that explains part of my frustration with bash over the years.
Run
A run launches a child process in a new bash within bash, so variables last only the lifetime of the command. This is why launching Python environments doesn't use run.
./list-things.sh
Source
A source is the current bash, so variables last beyond the running of a script. This is why launching Python environments use source.
source ~/.venv/bin/activate

