从 MacOS 上的 CLI 获取共享动态计算机名称

从 MacOS 上的 CLI 获取共享动态计算机名称

有没有办法从 macOS 12.6 或更高版本的 CLI 实用程序中获取屏幕截图中的字符串?(由于显而易见的原因,有些内容被审查了)。

在此处输入图片描述

我尝试过这些:

scutil --get HostName
scutil --get LocalHostName
scutil --get ComputerName

但没有一个能找到我想要的东西。我的 Google 搜索没有帮助,因为我不知道该搜索什么。

答案1

做了一些之后ging,我找到了为什么以及如何在那里打印出精确的字符串。

按照之前回答过一个与 MacOS 主机名相关的问题,从 CLI 获取该主机名的单行解决方案是运行:

dig +short -x $(ipconfig getifaddr en0) | sed 's/\.$//'

该字符串的组成方式如下:

  • 可以使用以下命令获取 NetBIOS 名称:defaults read /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName
  • 一个反转的ciaddr ip,可以使用以下方法获得:ipconfig getpacket en0 | grep ciaddr | awk -F ' = ' '{print $2}'。反转的意思是每个八位字节的十进制表示被反转,而不是整个字符串。因此101.102.203.204变成204.203.102.101
  • 某种网络组,无法找到通过 CLI 方式在本地获取它,而无需查询 DNS 服务器。
  • domain_name 字符串,可以通过以下方式获取:ipconfig getpacket en0 | grep "domain_name (string)" | awk -F ': ' '{print $2}'

但一行代码就足够了。

相关内容