如何让 telnet 在 Gitbash 中成功运行?

Posted

技术标签:

【中文标题】如何让 telnet 在 Gitbash 中成功运行?【英文标题】:How can I get telnet to work successfully in Gitbash? 【发布时间】:2018-08-06 11:20:12 【问题描述】:

我正在尝试在 Windows 上的 gitbash 中运行 telnet,但是当我输入命令 telnet 时,我只是返回到我的命令行。我已经启用了 telnet 客户端,就像这个问题底部的链接所解释的那样。

现在的问题是,当我在 gitbash 中键入 telnet 时,什么也没有发生,我只是返回了一个新的命令行。如果我打开一个 Windows shell 并键入 telnet,那么它会按预期运行,这让我相信这是 gitbash 的问题。

链接到一个类似的问题,但只解释如何启用 tcp 客户端,而不是如何让 gitbash 运行它:Can not use command telnet in git bash

【问题讨论】:

Can not use command telnet in git bash的可能重复 【参考方案1】:

我不认为 git-bash 是为了运行这样的程序。这样做是可行的,但它只包含最少的实用程序,通常对管理您的存储库很有用。

如果您想在 Windows 上扩展 unix 系统,请使用 VM 或适用于 Linux 的 Windows 子系统 (often called bash on windows)。

如果你只是想从 git bash 运行 windows telnet 程序,你可以简单地写它的路径,例如C:/Users/Documents/telnet/telnet.exe

【讨论】:

谢谢,我也开始得出这个结论了。我通常双启动进入 Ubuntu,但希望在这种情况下我可以使用 Git Bash。我决定只安装适用于 Windows 的 Ubuntu 并启用适用于 Linux 的 Windows 子系统功能。我使用 GitBash 作为解决方法,但我想我会切换到这个解决方案,因为它似乎也解决了我所有其他问题。 谢谢,@NanoPish。有几个解决方案,但我现在将 WSL 用于任何不再起作用的东西哈哈。【参考方案2】:

为了补充@NanoPish 的答案,需要在 git bash 上使用 winpty(对于那些使用 MinTTY 作为终端模拟器的人)调用 telnet 才能工作。

例子:

 MINGW64 ~
$ which telnet
/c/WINDOWS/system32/telnet
 MINGW64 ~
$ winpty telnet localhost 2181
    Zookeeper version: 3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT

【讨论】:

以上是关于如何让 telnet 在 Gitbash 中成功运行?的主要内容,如果未能解决你的问题,请参考以下文章

求教关于SecureCRT脚本问题:如何使用脚本判断telnet是不是成功,不成功跳过telnet下一台设备?

如何利用telnet命令检测端口映射是不是成功

如何在 Windows 10 上将代理配置到 GitBash 环境中

如何让 gitbash 找到 javac 命令?

Shell脚本成功telnet登录,之后如何发出命令?

python求大神帮助,如何判断是不是telnet成功