Если искомая ошибка исходит от svn
в конвейере, а не jsl
, то $?
не будет содержать код возврата.Вместо этого используйте ${PIPESTATUS[@]}
.Это массив, который содержит коды возврата каждого члена конвейера.Быстрый способ проверки любой неуказанной ошибки:
$SVN cat -r$TXN file://$REPOS/$FILE | $JSL -conf $JSL_CONF -stdin 1>&2
[[ ! ${PIPESTATUS[@]} =~ 1 ]]
JSL_ERROR_CODE=$?
if [ $JSL_ERROR_CODE != 0 ]
или
$SVN cat -r$TXN file://$REPOS/$FILE | $JSL -conf $JSL_CONF -stdin 1>&2
[[ ${PIPESTATUS[@]} != *1* ]]
JSL_ERROR_CODE=$?
if [ $JSL_ERROR_CODE != 0 ]