解析 macOS plist 值

解析 macOS plist 值

我在 /private/var/db/dslocal/nodes/default/users 下有一个 plist 文件。我可以使用 plutil 读取 plist 中的值。

plutil -p /private/var/db/dslocal/nodes/default/users/swastibhushandeb.plist

输出摘录:

{
"hint" => [
    0 => "abcxyz"
  ]
  "home" => [
    0 => "/Users/swastibhushandeb"
"name" => [
    0 => "swastibhushandeb"
    1 => "[email protected]"
  ]
  "passwd" => [
    0 => "********"
  ]
  "picture" => [
    0 => "/Library/User Pictures/Animals/Parrot.tif"
  ]
  "realname" => [
    0 => "Swasti Bhushan Deb"
  ]
  "record_daemon_version" => [
    0 => "48400XX"
  ]
 "uid" => [
    0 => "501"

}

使用 bash 从 plist 中选择特定值(例如“name”、“realname”等)的最佳方法是什么。

答案1

您可以使用以下defaults命令(请注意,文件名中省略了“.plist”):

defaults read /private/var/db/dslocal/nodes/default/users/swastibhushandeb name

或者PlistBuddy

/usr/libexec/PlistBuddy -c "print name" /private/var/db/dslocal/nodes/default/users/swastibhushandeb.plist

但由于这实际上是您要读取的用户记录,dscl因此我建议您使用:

dscl /Search -read /Users/swastibhushandeb name

当然,所有这些都使用不同的输出格式......

相关内容