こんにちは、私は os x 用の小さなサービスに取り組んでいます。スクリプトでさらに使用するために、MobileMe アカウント名 (ユーザーが osx にログインしている場合) を取得するにはどうすればよいでしょうか?
2 に答える
1
次のスニペットはあなたが求めることをしますか?
dscl localhost -readpl /Local/Default/Users/$(id -un) dsAttrTypeNative:LinkedIdentity mac.com | grep -A1 '>name<' | sed -n 's/.*string>\(.*\)<\/string>.*/\1/p'
最初の項目は、要求を行っているユーザーのディレクトリ サービスから mac.com にリンクされた ID dict を読み取り、次の要素は名前フィールドを見つけ、最後の要素はユーザーの .mac 名を取得して表示します。
クリップボードに入れるには、そのコマンドを次の末尾で発行します。
dscl localhost -readpl /Local/Default/Users/$(id -un) dsAttrTypeNative:LinkedIdentity mac.com | grep -A1 '>name<' | sed -n 's/.*string>\(.*\)<\/string>.*/\1/p' | pbcopy
値をクリップボードにコピーします(以前の質問で見逃したビット)
于 2011-03-28T17:55:17.910 に答える
0
MobileMe は証明書と公開鍵/秘密鍵をキーチェーンに保存するため、以下を使用できます。
security find-identity -v
(MobileMe Sharing Certificate)有効な ID のリストを生成するには、その名前に含まれる ID から MobileMe ユーザー名を抽出できます。
sedこれを行うには、二重引用符の間の文字を出力しawk、ユーザー名のみを出力するために使用する醜いソリューションではありますが、この機能することしか思いつきませんでした。
security find-identity -v | grep MobileMe | sed -n 's/\(.*\)\"\(.*\)\"\(.*\)/\2/p' | awk '{print $1}'
(誰かがこれに対するよりエレガントな解決策を見つけたら、喜んで聞いてください!)
于 2011-03-28T17:03:56.923 に答える