You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何解决Windows下GitBash中Telnet无法正常运行的问题?

解决Git Bash中Telnet无反应的问题

我之前也碰到过一模一样的情况,根源其实很清晰:Git Bash默认自带的telnet是一个shell脚本,并非Windows系统原生的Telnet客户端,所以输入命令后会直接返回,没有预期的交互会话。而CMD里直接调用的是Windows系统的telnet.exe,所以能正常工作。下面给你几个靠谱的解决办法:

方法1:直接调用Windows原生Telnet的绝对路径

在Git Bash里,直接使用Windows系统Telnet的完整路径执行命令,格式如下:

/c/Windows/System32/telnet.exe <目标主机> <端口>

举个测试示例,连接Google的80端口:

/c/Windows/System32/telnet.exe google.com 80

这样就能直接唤起原生的Telnet会话,和CMD里的效果完全一致。

方法2:给原生Telnet设置别名(推荐)

为了不用每次都输入长路径,你可以给Windows的telnet.exe设置一个别名,以后直接打telnet就能用:

  1. 打开Git Bash的配置文件,比如~/.bashrc或者~/.bash_profile(如果没找到,直接新建一个即可)。
  2. 在文件末尾添加一行:
    alias telnet='"/c/Windows/System32/telnet.exe"'
    
  3. 保存文件后,在Git Bash里执行以下命令让配置立即生效:
    source ~/.bashrc
    

之后你再输入telnet或者带参数的telnet <host> <port>,就会直接调用Windows原生的Telnet客户端了。

方法3:调整PATH环境变量优先级

Git Bash的PATH环境变量里,Git自带的工具目录(比如/usr/bin)可能排在Windows系统目录前面,导致优先调用了Git的telnet脚本。你可以把Windows的System32目录放到PATH最前面:

  1. 打开~/.bashrc文件,添加一行:
    export PATH="/c/Windows/System32:$PATH"
    
  2. 执行source ~/.bashrc让配置生效。
    不过这个方法可能会影响其他命令的调用优先级(比如某些Git工具可能被Windows同名工具覆盖),所以如果方法2能解决问题,优先用方法2。

内容的提问来源于stack exchange,提问作者Michael Treat

火山引擎 最新活动