var="keychain-access-groups"
declare -a val=$( /usr/libexec/PlistBuddy -c "Print $var" "sample.plist")
echo ${val}
echo ${val[0]}输出:
Array { ABCD.com.bus.NoEntitlements ABCD.com.bus.sharing }
Array { ABCD.com.bus.NoEntitlements ABCD.com.bus.sharing }如何获取数组中的第一项?
发布于 2016-11-30 14:38:21
看起来PlistBuddy会产生这样的输出:
Array {
ABCD.com.bus.NoEntitlements
ABCD.com.bus.sharing
}也就是说,多行。如果您想了解Array的元素,您需要首先切掉第一行和最后一行:
/usr/libexec/PlistBuddy | sed -e 1d -e '$d'接下来,要将其读入Bash数组,需要用另一个(...)包围$(...)子外壳,如下所示:
declare -a val=($(/usr/libexec/PlistBuddy | sed -e 1d -e '$d'))在此之后,您可以使用${val[0]}访问第一个值,使用${val[1]}访问第二个值。
https://stackoverflow.com/questions/40880696
复制相似问题