我正在尝试在执行ssh命令时捕获错误消息。 以下是我的代码的摘录:
# errMsg=`ssh build@$h 'mkdir -p $rmtRepo' 2>&1`
sh build@$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:缺少操作数 请尝试使用`mkdir --help'获取更多信息。
答案 0 :(得分:1)
例如,假设您在制作目录时遇到错误。
您可以通过查看目录是否存在来检查它。
if [ ! -d "$DIRECTORY" ]; then
# you can echo some error message here
exit 1 #to terminate execution of code
fi
这里的要点是,如果您在上面的代码中有错误,则无法在以下代码中获取错误消息,因为一旦出现一些早期错误,它将自动终止。