bash 中的 ping 命令显示心形字符

bash 中的 ping 命令显示心形字符

为什么我在 ping 命令后看到一颗心?我正在通过 ConEmu 中的 ssh 连接运行以下命令,看看是否有什么变化。这是预料之中的还是我以某种方式被黑客入侵了?在其他 shell、非 Ubuntu shell(git-bash)上 ping 不会发生这种情况。

$> ping mail.google.com
PING googlemail.l.google.com (74.125.196.18) 56(84) bytes of data.
64 bytes from yk-in-f18.1e100.net (74.125.196.18): icmp_req=1 ttl=46 time=0.991 ms
64 bytes from yk-in-f18.1e100.net (74.125.196.18): icmp_req=2 ttl=46 time=1.00 ms
64 bytes from yk-in-f18.1e100.net (74.125.196.18): icmp_req=3 ttl=46 time=0.993 ms
64 bytes from yk-in-f18.1e100.net (74.125.196.18): icmp_req=4 ttl=46 time=1.06 ms
64 bytes from yk-in-f18.1e100.net (74.125.196.18): icmp_req=5 ttl=46 time=0.957 ms
64 bytes from yk-in-f18.1e100.net (74.125.196.18): icmp_req=6 ttl=46 time=1.04 ms
64 bytes from yk-in-f18.1e100.net (74.125.196.18): icmp_req=7 ttl=46 time=1.01 ms
--- googlemail.l.google.com ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6007ms
rtt min/avg/max/mdev = 0.957/1.008/1.064/0.050 ms

答案1

我正在 ConEmu 中运行命令...,看看是否有什么变化。

它改变了一切。这就是你的终端仿真器呈现发送的字符的方式CtrlC正文结束,或ETX,十六进制0x03)。你可以用 试试printf '\x03'。如果你觉得烦人,就换一个吧,但我不知道 Windows 上是否有任何模拟器没有这个问题。

答案2

你把一切都搞混了。

ConEmu 是一个终端,但不是 shell。git-bash 是一个 shell。ssh 是一个提供远程连接的控制台工具。

(本地)终端是一种仅显示正在运行的控制台应用程序(shell 和其他工具)的输出的工具。

因此,将 ConEmu 与 git-bash 进行比较是不合常理的。它们是不同类型的工具。您在 ConEmu 中运行什么 shell?这就是问题所在!

但是,如果您在运行 ConEmu ->git-bash ->ssh ->ping时观察到该行为-> CtrlC,则意味着该错误(如果您这么认为)属于您的 ssh 客户端,因为它(并且只有它)将该字符显示/键入/打印到 Windows 控制台。

为了保险起见,请比较一下你的 ssh 行为

a) 普通控制台:WinR ->“sh.exe -l -i” ->ssh 等等……

b)从 ConEmu:WinR ->“ConEmu -basic -cmd sh.exe -l -i” ->ssh 等等......

相关内容