shell中如何在父进程中获取子进程命令的返回码

richardsa 2008-06-27 03:10:09
写了个clearcase的check out/check in脚本:

--------------------------------------
fun=$1
......

cleartool setview $userbranch << !


if [ ${fun} == "co" ]
then
# Check out source code.
echo "." | cleartool ${fun} ${filename}

if [ xxxx ]
then

else

fi
fi

......
------------------------------------
cleartool setview $userbranch 这一句中,cleartool会启动一个新进程,所以用了输入重定向。

我要在if [ xxxx ]这句中判断echo "." | cleartool ${fun} ${filename}这句命令的返回码,如何能做到
试过$?,没用,因为是子进程的返回码。
...全文
568 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
richardsa 2008-07-08
  • 打赏
  • 举报
回复
重定向到文件中,然后读取文件当然是可以的
看来确实没办法从子进程传到父进程
x86 2008-06-28
  • 打赏
  • 举报
回复
你可以试试这样:
echo "." ¦ cleartool ${fun} ${filename} ; echo $? > /tmp/test.rc
e
dxing_1983 2008-06-28
  • 打赏
  • 举报
回复
$?就可以
linaxing 2008-06-27
  • 打赏
  • 举报
回复
如果$?不成的话就有难度了。
可不可以把cleartool ${fun} ${filename}这句命令的标准错误输出重定向到临时文件,
然后分析这个文件来判读是否有错误发生?

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧