2016-02-09 2 views
0

Я пытаюсь захватить сообщение об ошибке при выполнении команды ssh. Ниже приводится выдержка из моего кода:захватить сообщение об ошибке команды ssh

 #  errMsg=`ssh [email protected]$h 'mkdir -p $rmtRepo' 2>&1` 
      sh [email protected]$h "mkdir -p $rmtRepo" 
if [[ -n $errMsg ]]; then 
        echo "Unable to make the ssh connection for the host $h: $errMsg" 
       fi 

При использовании комментируемой строки, сообщение об ошибке вторят но команда MkDir если есть ошибка не удается выполнить с ниже ошибкой. Почему команда mkdir не работает? Если у меня нет кода для захвата сообщения об ошибке, команда mkdir будет успешно выполнена. Пожалуйста, предложите, как я могу выполнить команду make, если нет условия ошибки и фиксировать ошибку, если она есть в одно и то же время? mkdir: missing operand Попробуйте `mkdir --help 'для получения дополнительной информации.

ответ

1

Скажем, например, у вас возникла ошибка при создании каталога.

Вы можете проверить его, если каталог существует или нет.

if [ ! -d "$DIRECTORY" ]; then 
    # you can echo some error message here 
    exit 1 #to terminate execution of code 
fi 

Дело в том, что, если у Вас есть ошибка в коде выше, вы не можете получить сообщение об ошибке на следующем коде, поскольку он автоматически прекращается, как только получил некоторые ранние ошибки.

Смежные вопросы