Мой опыт в tcl ограничен случайным баловством.Однако следующие ссылки, начинающиеся с ответа в ответе @ jk, привели меня к этой странице , где обсуждается переменная errorCode и связанные с ней вещи, которые могут быть полезны в этом случае.Вот быстрый пример, демонстрирующий использование errorCode:
tcl:
set ret_val [catch { exec /bin/bash /path/to/bash_script }]
set errc $errorCode
set ret_val [lindex [split $errc " " ] 2]
puts $ret_val
bash_script, как указано выше:
#!/bin/bash
exit 42
, что привело к выводу:
42