Michael Rendell <mich...@cs.mun.ca> wrote: > local x=$( echo hi; exit 20); > ret=$?
Here you're getting the exit status of "local" itself, which is 0. If you want the exit status of the command substitution, make that a separate command: local x x=$( echo hi; exit 20); paul