终端命令提供您所使用的计算机的类型


2

我在两台使用相同用户名的不同计算机上运行MATLAB代码。

我想通过让代码标识一个系统是台式机,另一个系统是笔记本电脑来区分两台Mac

是否有一个终端命令可以打印我正在使用的计算机类型(因此我可以实现相关功能?)

Answers:


3

该命令应该为您工作:

sysctl hw.model

这将返回您的机器的型号标识符。以下是2012年中期Retina MacBook Pro的示例:

Machine123:~ username$ sysctl hw.model
hw.model: MacBookPro10,1

以下是Apple网站上描述模型标识符的一些参考-似乎没有一个参考:

MacBook Pro型号标识符

MacBook型号标识符

MacBook Air型号标识符

iMac模型标识符

Mac Pro型号标识符

Mac Mini型号标识符


1
这将为您提供Apple的机器可读字符串之一,与System Information-> Hardware-> Overview-> Model Identifier中的相同。如果你想可靠的台式机和笔记本电脑之间区别,你需要保持苹果的模式-ID前缀的电流和详尽的列表(PowerBookMacBookMacBookAirMacBookProPowerMaciMacMacminiMacPro)。
Blacklight Shining

@BlacklightShining您应将这些信息编辑为答案
Mark

@Mark不,Scot应该将该信息编辑为答案。编辑将增加意义,而不仅仅是澄清。
Blacklight Shining

1
@BlacklightShining如果可以通过编辑答案来改善答案,请这样做。该网站是这样工作的。
nohillside

完美的答案!
tjt263

0

只需检查Mac是否包含电池,智能电池管理器或翻盖模式即可区分笔记本电脑和台式机。

检查的输出以ioreg -l > ~/Desktop/ioreg.txt获取正确的字符串。

例如,您可以使用Lion(10.7.5)和较新的操作系统:

ioreg -l | grep SMB0

(SMB0可能表示SM art B电池)

要么

ioreg -l | grep AppleClamshellCausesSleep

在台式机上,您没有输出,而在笔记本电脑上,您得到的输出类似于以下内容:

    | +-o SMB0  <class IOACPIPlatformDevice, id 0x100000166, registered, matched, active, busy 0 (35 ms), retain 9>

要么

    | | |   "AppleClamshellCausesSleep" = Yes
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.