【问题标题】:Programming a terminal emulator, what's in it?对终端仿真器进行编程,里面有什么?
【发布时间】:2009-02-11 02:41:00
【问题描述】:

这与this question 有点相关,关于 cmd.exe 的更好的 shell 终端/gui 接口

在我寻找更好的 shell 终端的过程中,我遇到的唯一有用的东西是Console2,其他替代品不是免费的,而且通常不会提供比 Console2 更多的东西他们物有所值。

我不禁想,“怎么会”? shell 终端对程序员来说是一个非常有价值的工具,但是没有人来尝试比 cmd.exe 做得更好(除了@console2 的家伙)??

设计一个命令行shell终端模拟器肯定不是这样艰巨的任务!

有没有人尝试过写一个 shell 终端模拟器?里面是什么?那里有任何资源(例如,如果我想编写自己的 shell)?

更新

17/07/2009

我重新表述了这个问题,我所说的“shell”实际上被称为终端仿真器(至少在 linux 世界中)。我最近才意识到这一点,所以我想我应该重新审视这个问题并解决它。

【问题讨论】:

  • 啊,我明白了。您想继续使用 cmd.exe 'shell' 但更改环绕它的 'window'。虽然我认为这是一个好主意(剪切粘贴很痛苦),但我从未见过任何可以做到这一点的东西。
  • 实际上,console2(我链接到的)做到了,但它并不能完全满足我..
  • console2 是 OSS...所以你可以尝试改进它。在我看来,console2 使用隐藏的“cmd.exe”的方式似乎注定是错误的。

标签: windows bash shell development-environment console2


【解决方案1】:

微软的PowerShell 怎么样? AFAIK 它是免费的,并在 shell 中为您提供 C# 功能,以及大量其他功能。但是,它确实需要 NET Framework...

我还不会认可它,因为我还没有真正使用过它,但它在我的清单上......

【讨论】:

  • Powershell 至少与经典的 *nix shell 一样具有表现力,而且 imo 更具可扩展性。这是一个强大的工具,我正在为我的更多面向脚本的问题而学习。 :)
  • 他正在寻找 cmd.exe 的包装器...如果您打开 PowerShell 控制台,您仍然会看到 cmd.exe 运行 PowerShell 并带有漂亮的蓝色背景。
  • 似乎每个人都在抱怨 cmd 中的剪切和粘贴...我不明白。自 95 年初以来,我一直在 Win95 测试版和其他东西中使用它。我从未停止过。但是,默认情况下,我确实强制我所有的 shell 进入“快速编辑”,以及一个“模式 80,50”,向后滚动 3000 行......
  • “快速编辑”模式真的很棒。它为您提供像 Putty 一样的复制粘贴。 |左键单击+拖动=>选择+复制 |右键=>粘贴
  • 我知道..我使用它没有问题,但其他人似乎...不,它不是按LINE选择文本,而是按BLOCK,但它很容易获得习惯和使用。
【解决方案2】:

Windows 有很多 shell,Cygwin 下的 bash 是我用得最多的,而且它当然是免费的。说实话,cmd.exe 自从 MSDOS 的批处理文件处理器以来已经走过了漫长的道路。它实际上非常强大,但仍然不是 bash 后端的疙瘩:-)。

应该尝试编写命令行 shell,这对您来说是一种教育。如果你想要的只是一个程序启动器,那么做基础并不难。

但是,如果您想要真正的 shell 的所有功能,包括成熟的编程语言、作业控制、管道、输出重定向以及(严重)太多其他内容,我们可能不会收到您的来信一阵子。除非你突然冒出头来问我们关于 shell 应该如何做这个或那个的深奥问题。

【讨论】:

  • 感谢您的回复,我更新了我的问题。至于你所说的“真正外壳的力量”,我想我会坚持使用 python :)
【解决方案3】:

如果您是 Windows 用户,我的赌注是未来的 Powershell。

根据 MS,PowerShell 将默认安装在 Windows Server 08 R2 (WS08R2) 和 Windows 7 上。

我自己使用过 Powershell,发现它非常有用,如果您熟悉 .NET,那就更容易了。

下载two page reference document here,这就是您开始使用所需的全部内容。

【讨论】:

  • 他正在寻找 cmd.exe 的包装器...如果您打开 PowerShell 控制台,您仍然会看到 cmd.exe 运行 PowerShell 并带有漂亮的蓝色背景。
【解决方案4】:

我的意思是显示文本的 gui 界面部分,

啊!您的意思是我们在 unix 中所说的“伪 tty”或“终端仿真器”。在 Windows 中,我猜它被称为“控制台主机”。我没用windows,但听说console2很好用。 好像还有其他的:

当然,对于真正的程序员来说,你有 (x)emacs 的 shell 模式 :-)

【讨论】:

    【解决方案5】:

    呃... Unix 命令 shell 到 Windows 的所有端口呢?

    【讨论】:

      【解决方案6】:

      只需使用 cygwin 并使用 PuTTY 登录即可。比标准控制台好多了。 :)

      【讨论】:

        【解决方案7】:

        另外,Python(或 perl)可以完全替代 shell。

        【讨论】:

        • 真的,你想用'system("excel.exe")'运行你的程序吗?我知道 perl/python 适合编程,但它们没有工作控制或非常好的启动功能,是吗?
        • 我认为他指的是管理任务等。
        • @Pax:Python 拥有操作系统拥有的所有作业控制和启动功能,有时甚至超过了 shell 的功能。以 Python 子流程模块为例。
        【解决方案8】:

        您可能想尝试Take Command Console,以前的 4NT,以前的 4DOS。

        您可能关心的要点的简要总结:

        • 带有文件名完成、历史记录和剪切和粘贴的命令行编辑
        • 集成 PERL、Ruby、REXX、Python 和任何活动脚本语言
        • 快 - 比标准 Windows 控制台快 20-200% 输出显示速度
        • 集成文件浏览器 - 检查目录,拖放文件
        • 与 CMD.EXE 向上兼容,添加了数以千计的功能

        不是免费的(试用版除外),也不是开源的。我自己还没有尝试过,但在 Cygwin 之前,我曾经是 4DOS 迷。

        【讨论】:

          【解决方案9】:

          如果您需要方便的终端,请尝试ConEmu(我是作者)。它是一种 Windows 控制台窗口增强功能(本地终端模拟器),它将多个控制台和简单的 GUI 应用程序呈现为一个可自定义的选项卡式 GUI 窗口,具有数十种功能。

          Another answer and comments

          【讨论】:

            猜你喜欢
            • 2011-01-09
            • 2011-12-02
            • 1970-01-01
            • 2011-08-29
            • 2015-11-10
            • 2022-01-11
            • 2020-05-01
            • 1970-01-01
            • 2013-05-18
            相关资源
            最近更新 更多