When working in a shell, from time to time, I need to know if a command succeeded or failed. Sometimes, it’s easy:
$ make noise
make: *** No rule to make target `noise'. Stop.
Sometimes, less so:
$ grep frog podcasts.json > podcasts-about-frogs.txt
Since, alas, I don’t have any podcasts about frogs, that command would fail silently. But that’s fixable!
$ grep frog podcasts.json > podcasts-about-frogs.txt
$ # Bash/Zsh
$ echo $?
1
$ # Fish
$ echo $status
1