unix shell脚本子进程结果

发布于 2024-11-05 13:31:56 字数 455 浏览 0 评论 0原文

我正在尝试获取子进程的结果。但目前我能得到的唯一结果是日志字符串。 我想测试整数结果,但我不知道如何。

buildresult=$(xcodebuild -project $projectfile -nodistribute -activetarget -sdk macosx10.5 "PRODUCT_VERSION_NUM=$PRODUCT_VERSION" 'MACOSX_DEPLOYMENT_TARGET=10.4' 'ARCHS=$(ARCHS_STANDARD_32_BIT)' 'DEMO_PREPROCESSOR_FLAG=_FLUX_DEMO_' "PRODUCT_NAME=$PRODUCTS_ITEM-Demo" 'BASEPRODUCT_NAME=null' -configuration Release build)

$buildresult包含echo日志,如何测试结果?

谢谢。

i'm trying to get the result of a sub process. But for now the only result i can have is the log string.
I would like to test the integer result but i don't know how.

buildresult=$(xcodebuild -project $projectfile -nodistribute -activetarget -sdk macosx10.5 "PRODUCT_VERSION_NUM=$PRODUCT_VERSION" 'MACOSX_DEPLOYMENT_TARGET=10.4' 'ARCHS=$(ARCHS_STANDARD_32_BIT)' 'DEMO_PREPROCESSOR_FLAG=_FLUX_DEMO_' "PRODUCT_NAME=$PRODUCTS_ITEM-Demo" 'BASEPRODUCT_NAME=null' -configuration Release build)

$buildresult contain the echo log, how to test the result ?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

黎夕旧梦 2024-11-12 13:31:56

子进程的退出状态可在 $?多变的:

buildresult=$(xcodebuild bla bla)
rc=$?
if test $rc -ne 0; then
    echo "NOT OK!"
    exit $rc
fi

The exit status of a subprocess is available in the $? variable:

buildresult=$(xcodebuild bla bla)
rc=$?
if test $rc -ne 0; then
    echo "NOT OK!"
    exit $rc
fi
筑梦 2024-11-12 13:31:56

或者

buildresult=$(xcodebuild bla bla) || echo "NOT OK"

or

buildresult=$(xcodebuild bla bla) || echo "NOT OK"
故事与诗 2024-11-12 13:31:56

使用$?查找最后一个命令的返回码。这假设该命令返回一个有意义的返回代码。

$ ls 
   :
   :
$ echo $?
0

$ dgdg
dgdg: command not found
$ echo $?
127

$ rm somefilethatdoesnotexist
rm: cannot remove `somefilethatdoesnotexist': No such file or directory
$ echo $?
1

Use $? to find the return code of the last command. This assumes that the command returns a meaningful return code.

$ ls 
   :
   :
$ echo $?
0

$ dgdg
dgdg: command not found
$ echo $?
127

$ rm somefilethatdoesnotexist
rm: cannot remove `somefilethatdoesnotexist': No such file or directory
$ echo $?
1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文