I have a script like this, named judge
:
#!/bin/bash
echo "last exit status is $?"
It always outputs "last exit status is 0". Eg:
ls -l; judge # correctly reports 0
ls -z; judge # incorrectly reports 0
beedogs; judge # incorrectly reports 0
Why?
bash
processes executing each line of code and$?
isn't shared between the processes.