2

我正在尝试在基于 Platypus 脚本的应用程序 (Mac) 中修改系统 plist,尽管我觉得我的问题可能有更一般的答案。

问题是:在 plist 文件中定位和修改 Dictionary 键的布尔子项的正确终端语法是什么?

我试过了:

sudo defaults write /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist com.github.norio-nomura.SIMBL-Agent Disabled -bool false

但它不喜欢 -bool 与 Disabled 那里..

4

2 回答 2

1

我设法通过使用 PlistBuddy 来解决它。PlistBuddy 内置在 MacOS X 10.5 及更高版本中。

我本可以使用:

/usr/libexec/PlistBuddy -c "set :com.github.norio-nomura.SIMBL-Agent:Disabled bool" /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist

但它在 .pkg 安装程序中导致了错误,所以我使用了:

/usr/libexec/PlistBuddy -c "Delete :com.github.norio-nomura.SIMBL-Agent" /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist

.. 接着:

/usr/libexec/PlistBuddy -c "Add :com.github.norio-nomura.SIMBL-Agent:Disabled bool" /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist

..就在这似乎工作之后。

于 2013-02-17T10:08:39.143 回答
0

PlistBuddy 在设置值时不需要类型

/usr/libexec/PlistBuddy -c "set :com.github.norio-nomura.SIMBL-Agent:Disabled true" /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist
于 2015-12-09T00:20:57.733 回答