首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用plistBuddy获取值数组

使用plistBuddy获取值数组
EN

Stack Overflow用户
提问于 2016-11-30 13:04:18
回答 1查看 1.4K关注 0票数 3
代码语言:javascript
复制
var="keychain-access-groups"
declare -a val=$( /usr/libexec/PlistBuddy -c "Print $var" "sample.plist")
echo ${val}
echo ${val[0]}

输出:

代码语言:javascript
复制
Array { ABCD.com.bus.NoEntitlements ABCD.com.bus.sharing }
Array { ABCD.com.bus.NoEntitlements ABCD.com.bus.sharing }

如何获取数组中的第一项?

EN

回答 1

Stack Overflow用户

发布于 2016-11-30 14:38:21

看起来PlistBuddy会产生这样的输出:

代码语言:javascript
复制
Array {
    ABCD.com.bus.NoEntitlements
    ABCD.com.bus.sharing
}

也就是说,多行。如果您想了解Array的元素,您需要首先切掉第一行和最后一行:

代码语言:javascript
复制
/usr/libexec/PlistBuddy | sed -e 1d -e '$d'

接下来,要将其读入Bash数组,需要用另一个(...)包围$(...)子外壳,如下所示:

代码语言:javascript
复制
declare -a val=($(/usr/libexec/PlistBuddy | sed -e 1d -e '$d'))

在此之后,您可以使用${val[0]}访问第一个值,使用${val[1]}访问第二个值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40880696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档