shell函数怎么返回一个关联数组
答案:2 悬赏:0 手机版
解决时间 2021-01-30 08:15
- 提问者网友:焚苦与心
- 2021-01-30 00:34
shell函数怎么返回一个关联数组
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-01-30 02:07
# 实例演示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
# 重点在于自己怎么样去构造适合用数组存储的数据格式
# 函数 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
全部回答
- 1楼网友:独钓一江月
- 2021-01-30 02:48
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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯