首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Linux上的plist文件中获取值

问从Linux上的plist文件中获取值
EN

Unix & Linux用户
提问于 2012-10-30 02:50:51
回答 2查看 18.5K关注 0票数 8

我有bash脚本,它是为OS编写的,现在移植到Linux。我没有访问Linux机器的权限。bash脚本将使用OS上可用的defaults read和PlistBuddy命令从plist文件中读取值。

因为Linux机器没有这些命令,所以我正在寻找解决办法。是否有库/脚本(最好是Perl)帮助用户从Linux机器上给定密钥的plist文件中获取值?

我尝试使用sed/awk,但是输出不可靠。我遇到过像plutil.pl这样的脚本,它们将plist文件转换成其他格式。

我已经在我的Mac上安装了一个运行Ubuntu的虚拟机,这样我就可以在部署到实际的Linux盒之前测试我的更改。

EN

回答 2

Unix & Linux用户

发布于 2012-10-30 15:27:33

libplist似乎符合您的要求。有一个Ubuntu包名"libplist-utils“,您可以在脚本中引用它:

描述:转换器这个包包含将Apple属性列表文件从二进制转换为XML的工具,反之亦然。它是libimobiledevice堆栈的一部分,提供对iDevices (iPod、iPhone、iPad .)的访问。

主页:http://www.libimobiledevice.org/

安装命令:

代码语言:javascript
复制
apt-get install libplist-utils

用法示例:

代码语言:javascript
复制
plistutil -i Info.plist
票数 11
EN

Unix & Linux用户

发布于 2022-06-08 12:33:29

Python3有一个标准库:

plistlib可以读写.plist文件,https://docs.python.org/3.9/library/plistlib.html

例如,从MyKey获取./Info.plist的值:

代码语言:javascript
复制
$ python3 -c "import plistlib; print(plistlib.load(open('./Info.plist', 'rb'))['MyKey'])" 
MyValue

这将适用于任何运行python3的操作系统。

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

https://unix.stackexchange.com/questions/53275

复制
相关文章

相似问题

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