git的mintty命令行窗口实现原理

安装完git后,打开命令行窗口,可以看到不同的文本会标记成不同的颜色,请问这个是如何实现的额?

想自己开发一个类似的窗口,有没可以参考的目标?

Git的Windows客户端,会自带一个叫MinGW的Linux命令行工具,可以执行简单的shell命令,与cygwin功能类似,仅此而已。

    而在MinGW命令行窗口中,执行命令“mintty”既可以打开mintty窗口,再次可以使用ssh命令登录Linux服务器。

    因为在Windows上开发Hadoop项目,不可避免的使用的Linux Shell命令,之前是cygwin和putty工具,现在这两个可以都不需要了,因为现在的开发基本上都会用到Git,而 Git的Windows客户端安装完以后在Git Bash中MinGW和mintty已经自动安装好了。

    当然在cygwin中也是自带mintty的。

具体步骤:

1.Git安装完后,在Windows桌面空白处右键,选择Git Bash Here,弹出如下窗口:

注意:Git Bash就是MinGW,这里的磁盘路径需要使用/d/来代替d:来访问具体路径。

   2. 在MinGW输入mintty命令,弹出如下窗口,使用ssh可以连接Linux服务器。

在windows平台下,console文本设置使用SetConsoleTextAttribute函数可以设置文本颜色,背景色。

据了解mintty是基于putty的代码进行开发的,git上有其源码,可以去了解下,详见https://github.com/mintty/mintty