0

Mac で scutil を使用して、dict を作成し、それをデータ ストア内に配置する方法を知っています。

ただし、私のシステムでは、値が単なる配列であるキーが表示されます。

$ scutil
> show Kerberos-Default-Realms
<array> {
  0 : ATHENA.MIT.EDU
}

そのようなエントリを手動で作成するにはどうすればよいですか? 自動テストでこれを行う必要があります。

4

1 に答える 1

1

私は答えを見つけたかもしれません(改訂):

$ 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 は私には行き止まりのように見えます... やるべきことは 1 つだけです:

> quit
于 2012-12-30T06:12:34.143 に答える