shell函数怎么返回一个关联数组

 我来答
追忆小土豆
2017-09-01 · TA获得超过7739个赞
知道大有可为答主
回答量:4890
采纳率:0%
帮助的人:1489万
展开全部
# 实例演示shell函数返回数组,准确说应该是返回字符串,然后通过一定的构造得到一个数组
# 重点在于自己怎么样去构造适合用数组存储的数据格式
# 函数 thinker()
# 功能 将附加在脚本末尾的 域名:IP 抽取出来,存储在字符串变量中,并返回该变量
function thinker(){
# 这里是过滤脚本本身尾部的域名ip区域
vars=`cat $0 | sed -n '/# BEGINVAR$/,/# ENDVAR$/p' | grep -v -E '# BEGINVAR|# ENDVAR' | sed -n 's/^# //gp'`
echo $vars
}

# 这里演示了获取shell函数返回值
# 我这里需要将返回值存放到数组中,通过下面的形式就构造了一个数组了
domainip=(`thinker`)
echo ${domainip[0]}
echo ${domainip[1]}
#
# 脚本的要实现的具体功能部分就省略了

# BEGINVAR
# xx2.yy.com:131.10.238.190
# xx3.yy.com:133.106.227.132
# xx4.yy.com:123.160.19.138
# xx5.yy.com:131.10.18.177
# ENDVAR
可爱小不点year
2017-09-02 · TA获得超过803个赞
知道小有建树答主
回答量:859
采纳率:89%
帮助的人:785万
展开全部
Shell函数返回值,常用的两种方式:return,echo
1) return 语句
shell函数的返回值,可以和其他语言的返回值一样,通过return语句返回。
示例:

#!/bin/sh
function test()
{
echo "arg1 = $1"
if [ $1 = "1" ] ;then
return 1
else
return 0
fi
}

echo
echo "test 1"
test 1
echo $? # print return result

echo
echo "test 0"
test 0
echo $? # print return result

echo
echo "test 2"
test 2
echo $? # print return result
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式