首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker似乎是如何“升级”cmd.exe控制台的?

Docker似乎是如何“升级”cmd.exe控制台的?
EN

Stack Overflow用户
提问于 2019-07-12 14:00:56
回答 1查看 505关注 0票数 0

我正在运行一个整洁的Go应用程序,它提供了一个具有颜色、“特殊”字符和普通的POSIXey读行体验的交互式shell。

当我在cmd.exe中直接运行这个应用程序时(在Windows10Pro 64位1903上),它显示了一个关于颜色支持的警告,并且稍微降低了(请忽略可能是我的机器设置的错误)。

代码语言:javascript
复制
cmd> bettercap.exe

警告:此终端不支持颜色,视图将非常有限。

当我通过Docker在cmd.exe中运行相同的应用程序时,我会得到类似的降级体验。

代码语言:javascript
复制
$ docker run --rm bettercap/bettercap

警告:此终端不支持颜色,视图将非常有限。

当我通过Docker在cmd.exe中运行相同的应用程序时,但是使用交互式/tty标志,我可以获得完整的Linux,就像经验和功能一样。

代码语言:javascript
复制
cmd> docker run --rm -it bettercap/bettercap

我想要理解的是(坦白地说,在任何级别) Docker是如何“升级”控制台的功能的。据我所知,cmd.exe就是不能做那些事情?我对有关最近的ConPTY升级的文章很熟悉,但我不确定我是否完全了解它,也不知道它是如何发挥作用的,也不知道它在起什么作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-12 17:21:21

Docker没有“升级”CMD,CMD允许颜色,这取决于在CMD中运行的可执行文件被编码以将颜色发送到屏幕上。

从本质上说,你只是告诉码头,继续做,并这样做。

即。您可以在CLI ( CMD )上使用C#编写一个可执行文件,并以CMD支持的任意颜色写入任何文本,它将显示得很好。

在我的生活中,我不知道为什么微软在过去的30年里故意不给CMD/DOS中99%的命令着色。

尽管我现在认为这是一件他们认为是白费力气的事情,因为他们确实改变了Powershell的颜色,并致力于继续这样做,特别是现在它支持Linux。

另请注意:

CMD本身允许您一次更改整个提示符的FG和BG颜色。

还可以编写CMD脚本,在整个文本中着色BG/FG的部分,而不用使用"FindStr“或VBScript以及PowerShell更改整个提示符

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57008555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档