在 Mac 上使用 scutil,我知道如何创建一个 dict 并将其放入数据存储中。
但是,我的系统显示了一个键,其值只是一个数组:
$ scutil
> show Kerberos-Default-Realms
<array> {
0 : ATHENA.MIT.EDU
}
如何手动创建这样的条目?我需要在我的自动测试中这样做。
我可能已经找到了答案(已修改):
$ scutil
> help
Available commands:
help : list available commands
f.read file : process commands from file
quit : quit
d.init : initialize (empty) dictionary
d.show : show dictionary contents
d.add key [*#?] val [v2 ...] : add information to dictionary
(*=array, #=number, ?=boolean)
d.remove key : remove key from dictionary
list [pattern] : list keys in data store
add key ["temporary"] : add key in data store w/current dict
get key : get dict from data store w/key
set key : set key in data store w/current dict
show key ["pattern"] : show values in data store w/key
remove key : remove key from data store
notify key : notify key in data store
n.list ["pattern"] : list notification keys
n.add key ["pattern"] : add notification key
n.remove key ["pattern"] : remove notification key
n.changes : list changed keys
n.watch : watch for changes
n.cancel : cancel notification requests
要重新创建上述问题中的示例:
> d.init
> d.add Kerberos-Default-Realms * ATHENA.MIT.EDU
> d.show
<dictionary> {
Kerberos-Default-Realms : <array> {
0 : ATHENA.MIT.EDU
}
}
......废话,这并不能完全满足您的需求,现在是吗?我的意思是,确保您有一个具有正确值的数组,但该数组在字典中。
您正在寻找更多的东西:
> d.show
<array> {
0 : ATHENA.MIT.EDU
}
所以这意味着我们需要更多类似的东西:
> a.init
a.init: unknown, type "help" for command info
数字……等等!如果我:
> get Kerberos-Default-Realms
> d.show
<array> {
0 : ATHENA.MIT.EDU
}
亲爱的,现在我的“当前字典”是一个数组,所以我应该能够从这里解决一些问题:
> d.add Kerberos-Default-Realms ATHENA.MIT.EDU ZEUS.MIT.EDU
d.add: data (fetched from configuration server) is not a dictionary.
不……那是我最后的希望……我知道 NSArray 是一个有效的 NSObject,我只是不认为 scutil 是为了支持添加或修改 NSMutableArray 而构建的。
显然有一些方法可以将它放入动态存储中(因为 Kerberos-Default-Realms 是一个数组),但是 scutil 对我来说似乎是一个死胡同......只剩下一件事要做:
> quit