2

作为普通用户,我可以使用以下命令获取 OS X 的版本

$ defaults read loginwindow SystemVersionStampAsString

但是,如果我以 root 身份运行命令,它会失败:

$ sudo defaults read loginwindow SystemVersionStampAsString
2012-08-22 18:51:06.941 defaults[427:1707] 
The domain/default pair of (loginwindow, SystemVersionStampAsString) does not exist

有什么线索吗?

4

2 回答 2

2

有一个名为“sw_vers”的命令行工具:

$ sw_vers

它应该打印出版本信息;例如:

ProductName:    OS X
ProductVersion: 10.3
BuildVersion:   7A100
于 2012-08-22T17:15:36.457 回答
1

据我所知,默认值属于“域”,并且为超级用户运行默认命令意味着在子shell 中运行命令默认值,该子shell 没有域“登录窗口”,因此出现错误。只有直接在终端应用程序中运行的外壳程序才能将终端应用程序作为域“登录窗口”,但其他用户的子外壳程序不会有它。

尝试

  sudo defaults domains 

获取超级用户的可用域列表。

于 2012-08-22T17:07:28.063 回答