【问题标题】:MacOS Strange Terminal Prompt, Tried Resetting TerminalMacOS奇怪的终端提示,尝试重置终端
【发布时间】:2017-07-18 17:01:32
【问题描述】:

Link to picture of terminal

Last login: Mon Feb 27 14:57:49 on ttys000
engr2-2-79-41-dhcp:~ <censored>$

根据我连接的网络,我的终端会在每一行列出奇怪的东西,例如“engr2-....”。我不小心做了一些导致这个问题的事情。一旦它开始发生,git 命令就会停止工作。我试图删除终端的配置文件,但它只重置了我的终端的主题。

【问题讨论】:

  • 您是否对 bash 配置文件进行了任何更改。 (即 .bashrc 或 .bash_profile),在哪里尝试使用 PS1 更改提示?
  • 该文本是您计算机的主机名。这种行为是正常的。

标签: git macos terminal


【解决方案1】:

您看到的是正常的,只是有点混乱。这是计算机的主机名。标准提示包含它是为了提供帮助。

在 unix 命令行界面中,切换到其他目录(cd)、其他用户帐户(susudo)甚至其他计算机(ssh)都是正常的。跟踪您的位置可能会让人感到困惑,因此标准的 shell 提示符包括您的位置和身份(计算机的主机名、当前用户名和当前目录);类似于 GPS 系统的命令行。

问题在于,它确定计算机主机名的方式有时会引起比其他任何事情更多的混乱。这个过程有点像这样:

Bash shell:我需要在命令提示符中包含主机名。 “嘿,操作系统:我们正在使用的这台计算机的主机名是什么?”

操作系统:我的主机名?天哪,我想知道那是什么。我知道,我会询问 DNS(域名服务)服务器是否有我的 IP 地址的名称。 “嗨,DNS,与 2.2.79.41 关联的名称是什么?”

DNS 服务器:2.2.79.41?这实际上并没有特定的名称,它只是 DHCP 服务器分配给连接到工程网络的计算机的地址池的一部分。哦,我知道了,我将其称为 engr2-2-79-41-dhcp。总比没有好,对吧?”

...所以 DNS 将该名称发送到操作系统,然后将其传递给外壳程序,外壳程序将其显示在您的提示符中,这会导致您说“WTF is that????”。

请记住:此过程的每个部分都在尽其所能提供最好的信息。实际上并没有什么问题,如果您不知道它在做什么或为什么会这样,那就太令人困惑了。

这让我想到了 git 命令的问题:这不是导致它的原因。它几乎肯定与它无关。忽略奇怪的提示,并解决您的 git 设置问题。

【讨论】:

  • 它使用哪个DNS
  • @theonlygusti 网络首选项中配置的任何内容,这通常意味着它是您的 Mac 从本地网络上的 DHCP 服务器获得的任何内容。在常见的小型办公室/家庭设置中,它将是充当 DHCP 和 DNS 服务器的本地网络路由器。
  • 这不是说换网络时主机名会发生变化吗?有人在apple.SE上评论说主机名不会改变apple.stackexchange.com/questions/358605/…
  • 那么有没有解决办法呢?我强制关闭终端并重新启动,名称消失了。这正常吗?
  • @user0193 这是否正常取决于您的网络设置。如果您真的想“解决”它(同样,这不是真正的问题,只是令人困惑),您可以使用sudo scutil --set HostName nameyouwanttouse 覆盖主机名(请参阅this question)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多