Apparently this behaviour has bothered me in the past as well, and I didn’t realize until I googled just now for an answer… I’ve never really thought to hard about this, but it turns out that bash’s return code checking for pipelines is rather dumb. Specifically, bash checks the return code of the last command…