作为普通用户,我可以使用命令
获取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
任何线索?
答案 0 :(得分:2)
有一个名为'sw_vers'的命令行工具:
$ sw_vers
应该打印出版本信息;例如:
ProductName: OS X
ProductVersion: 10.3
BuildVersion: 7A100
答案 1 :(得分:1)
据我所知,默认属于“域”,并且为超级用户运行defaults命令意味着在子shell中运行命令defaults,此子shell没有域“loginwindow”,因此出错。只有直接在终端应用程序中运行的shell将终端应用程序作为域“loginwindow”,但是没有用于其他用户的子shell可以使用它。
尝试
sudo defaults domains
获取超级用户的可用域列表。