当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 怎样在调用另一个shell文件后获取其返回值
帖子发表于 : 2009-01-08 21:55 

注册: 2008-03-05 21:42
帖子: 53
送出感谢: 0 次
接收感谢: 0 次
如题,有没有简单的示例脚本。谢谢。。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 怎样在调用另一个shell文件后获取其返回值
帖子发表于 : 2009-01-08 22:00 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
在被调用脚本里面把结果echo出来就好了。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 怎样在调用另一个shell文件后获取其返回值
帖子发表于 : 2009-01-08 22:16 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
对 bash,是 $?。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 怎样在调用另一个shell文件后获取其返回值
帖子发表于 : 2009-01-08 22:20 

注册: 2008-03-05 21:42
帖子: 53
送出感谢: 0 次
接收感谢: 0 次
我没有说清楚,我希望,把被调用脚本里的一个变量的值返回,主调脚本使用这个变量值继续去干其它事情。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 怎样在调用另一个shell文件后获取其返回值
帖子发表于 : 2009-01-08 22:32 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
那一般要改造那个被调用脚本,最简单的方法是在被调用脚本 (xxx) 中把变量值 echo 出来:
代码:
echo $variable

然后在调用脚本中重新赋值
代码:
variabel=`xxx`

这种方法只适用于被调用脚本没有其它信息需要从标准输出设备输出的情况,而且需要多个变量值时麻烦。如果需要多个变量值,可以在 xxx 中用
代码:
echo "var1=$var1; var2=$var2"

然后在调用脚本中
代码:
eval `xxx`

如果 xxx 还有其它信息要在标准输出中输出,则可以用临时文件,如 xxx:
代码:
echo "var1=$var1; var2=$var2" > /tmp/atmpfile

代码:
. /tmp/atmpfile

当然实际使用时不应用使用 atmpfile 这种固定的文件名做为临时文件名,否则运行两个实例时就有问题了。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 怎样在调用另一个shell文件后获取其返回值
帖子发表于 : 2009-01-09 23:01 

注册: 2008-03-05 21:42
帖子: 53
送出感谢: 0 次
接收感谢: 0 次
aerofox 写道:
那一般要改造那个被调用脚本,最简单的方法是在被调用脚本 (xxx) 中把变量值 echo 出来:
代码:
echo $variable

然后在调用脚本中重新赋值
代码:
variabel=`xxx`

这种方法只适用于被调用脚本没有其它信息需要从标准输出设备输出的情况,而且需要多个变量值时麻烦。如果需要多个变量值,可以在 xxx 中用
代码:
echo "var1=$var1; var2=$var2"

然后在调用脚本中
代码:
eval `xxx`

如果 xxx 还有其它信息要在标准输出中输出,则可以用临时文件,如 xxx:
代码:
echo "var1=$var1; var2=$var2" > /tmp/atmpfile

代码:
. /tmp/atmpfile

当然实际使用时不应用使用 atmpfile 这种固定的文件名做为临时文件名,否则运行两个实例时就有问题了。

谢谢,我正在试,第一个试出来了。。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 怎样在调用另一个shell文件后获取其返回值
帖子发表于 : 2009-01-09 23:08 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
2,3楼的都对啊。估计没理解到他们的意思。


_________________
● 鸣学


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 怎样在调用另一个shell文件后获取其返回值
帖子发表于 : 2009-01-10 11:11 

注册: 2008-03-05 21:42
帖子: 53
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
2,3楼的都对啊。估计没理解到他们的意思。

谢谢大家,,2,3楼的太简短了。。。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译