我想创建一个默认写入命令,深度为 2 层,但在网上找不到任何内容。
我使用 -dict 开关得到的最接近的深度是 1 级。
我想编写我的OC更新脚本,所以很多人可能会使用这个方法,如果我能让它工作,它会比将整个文件换入换出要好得多。
例如; 默认写入 ~/Desktop/config Kernel -dict Emulate -dict Cpuid1Mask -data AAAAAAAAAAAAACAAAAAAA==
-dict 的第二次使用不起作用,但这就是我正在尝试的......
我已经尝试了几乎所有我能想到的方法,但无法获得正确的语法。
也许默认写入无法处理它,但我想使用默认写入命令来执行此操作,而不必安装另一个命令行工具。
我希望能够更改这些值;
<plist version="1.0">
<dict>
<key>Kernel</key>
<dict>
<key>Emulate</key>
<dict>
<key>Cpuid1Mask</key>
<data>
AAAAAAAAAAAAAAAAAAAAAA==
</data>
</dict>
</dict>
<key>PlatformInfo</key>
<dict>
<key>UpdateSMBIOS</key>
<true/>
</dict>
</dict>
</plist>
如果您将所有内容编码为 plist 格式,您可以执行以下操作:
defaults write ~/Desktop/config '<dict><key>Kernel</key><dict><key>Emulate</key><dict><key>Cpuid1Mask</key><data>AAAAAAAAAAAAAACAAAAAAA==</data></dict></dict><key>PlatformInfo</key><dict><key>UpdateSMBIOS</key><true/></dict></dict>'
如果你想很好地格式化plist:
defaults write ~/Desktop/config '<dict>
<key>Kernel</key>
<dict>
<key>Emulate</key>
<dict>
<key>Cpuid1Mask</key>
<data>AAAAAAAAAAAAAACAAAAAAA==</data>
</dict>
</dict>
<key>PlatformInfo</key>
<dict>
<key>UpdateSMBIOS</key>
<true/>
</dict>
</dict>'
如果您只是想写
Kernel
字典:
defaults write ~/Desktop/config Kernel '<dict><key>Emulate</key><dict><key>Cpuid1Mask</key><data>AAAAAAAAAAAAAACAAAAAAA==</data></dict></dict>'
如果你想很好地格式化plist:
defaults write ~/Desktop/config Kernel '<dict>
<key>Emulate</key>
<dict>
<key>Cpuid1Mask</key>
<data>AAAAAAAAAAAAAACAAAAAAA==</data>
</dict>
</dict>'