如何获取 instruments 的 return 值?
How to get the return value of instruments?
我在持续集成服务器上的 bash 脚本中使用工具。
我想知道脚本中的命令何时失败,以便我可以提前退出并将构建标记为失败。
instruments 向控制台显示 LOG ERROR,但我没有成功获得 return 值。
我怎样才能做到这一点?
如果有:
instruments -w "iPhone 6 (8.3 Simulator)" -t
可以这样做:
if(...)
then ...
提前致谢
相当简单:
instruments -w "iPhone 6 (8.3 Simulator)" -t
if (( $? > 0 ))
then
echo "instruments commands failed with error: $?" >&2
fi
(( ))
符号用于算术比较。使用 [[ ... ]]
完成字符串模式比较。注意使用正确的间距,通常在 shell 中使用空格作为分隔符,因此它可能很重要。
另一种语法可以是:
if instruments -w "iPhone 6 (8.3 Simulator)" -t
then
echo "it worked"
else
echo "it failed"
fi
这通常更可取。但我认为在这种情况下,我展示的样式更符合您的需求。
特殊变量?
给出前一个命令的return值。前缀 $
为我们提供了变量的值。按照惯例,return 值为零表示成功,1-255 表示错误(UNIX/Linux 的范围是 0-255,一个字节)。每个错误编号的意义是特定于应用程序的,因此您必须阅读文档以了解其含义。
请记住,$?
为我们提供了 上一个 命令的 return 值,因此即使是 echo
也会重置它!
>&2
表示"send the output to the standard error stream"。错误消息应该放在这里,也称为 stderr,文件描述符 2。如果您要重定向脚本的输出,这是一件好事。
编辑:毕竟,Apple 似乎没有记录 instruments
命令的退出代码,我检查了 man
页面。我认为这很糟糕,但你无能为力。在像 C(可能还有 ObjC)这样的语言中,如果程序在没有设置退出代码的情况下结束,你只会得到内存中的任何旧值。所以你甚至不能相信零就是成功 - 除非你知道否则?
我在持续集成服务器上的 bash 脚本中使用工具。
我想知道脚本中的命令何时失败,以便我可以提前退出并将构建标记为失败。
instruments 向控制台显示 LOG ERROR,但我没有成功获得 return 值。
我怎样才能做到这一点?
如果有:
instruments -w "iPhone 6 (8.3 Simulator)" -t
可以这样做:
if(...)
then ...
提前致谢
相当简单:
instruments -w "iPhone 6 (8.3 Simulator)" -t
if (( $? > 0 ))
then
echo "instruments commands failed with error: $?" >&2
fi
(( ))
符号用于算术比较。使用 [[ ... ]]
完成字符串模式比较。注意使用正确的间距,通常在 shell 中使用空格作为分隔符,因此它可能很重要。
另一种语法可以是:
if instruments -w "iPhone 6 (8.3 Simulator)" -t
then
echo "it worked"
else
echo "it failed"
fi
这通常更可取。但我认为在这种情况下,我展示的样式更符合您的需求。
特殊变量?
给出前一个命令的return值。前缀 $
为我们提供了变量的值。按照惯例,return 值为零表示成功,1-255 表示错误(UNIX/Linux 的范围是 0-255,一个字节)。每个错误编号的意义是特定于应用程序的,因此您必须阅读文档以了解其含义。
请记住,$?
为我们提供了 上一个 命令的 return 值,因此即使是 echo
也会重置它!
>&2
表示"send the output to the standard error stream"。错误消息应该放在这里,也称为 stderr,文件描述符 2。如果您要重定向脚本的输出,这是一件好事。
编辑:毕竟,Apple 似乎没有记录 instruments
命令的退出代码,我检查了 man
页面。我认为这很糟糕,但你无能为力。在像 C(可能还有 ObjC)这样的语言中,如果程序在没有设置退出代码的情况下结束,你只会得到内存中的任何旧值。所以你甚至不能相信零就是成功 - 除非你知道否则?