我正在尝试修改基于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 ..
答案 0 :(得分:0)
我设法通过使用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
..之后似乎正在发挥作用。
答案 1 :(得分:0)
当SET值为时,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