我有bash脚本,它是为OS编写的,现在移植到Linux。我没有访问Linux机器的权限。bash脚本将使用OS上可用的defaults read
和PlistBuddy
命令从plist文件中读取值。
因为Linux机器没有这些命令,所以我正在寻找解决办法。是否有库/脚本(最好是Perl)帮助用户从Linux机器上给定密钥的plist文件中获取值?
我尝试使用sed
/awk
,但是输出不可靠。我遇到过像plutil.pl
这样的脚本,它们将plist文件转换成其他格式。
我已经在我的Mac上安装了一个运行Ubuntu的虚拟机,这样我就可以在部署到实际的Linux盒之前测试我的更改。
发布于 2012-10-30 07:27:33
libplist似乎符合您的要求。有一个Ubuntu包名"libplist-utils“,您可以在脚本中引用它:
描述:转换器这个包包含将Apple属性列表文件从二进制转换为XML的工具,反之亦然。它是libimobiledevice堆栈的一部分,提供对iDevices (iPod、iPhone、iPad .)的访问。
主页:http://www.libimobiledevice.org/
安装命令:
apt-get install libplist-utils
用法示例:
plistutil -i Info.plist
发布于 2022-06-08 04:33:29
Python3有一个标准库:
plistlib
可以读写.plist
文件,https://docs.python.org/3.9/library/plistlib.html
例如,从MyKey
获取./Info.plist
的值:
$ python3 -c "import plistlib; print(plistlib.load(open('./Info.plist', 'rb'))['MyKey'])"
MyValue
这将适用于任何运行python3的操作系统。
https://unix.stackexchange.com/questions/53275
复制相似问题