$?って、真偽値じゃなくて数値でしたっけ?

msg = `command -opt args`
result = $?

でresultにtrue/falseが格納されてることを期待しちゃダメ?