This is related somewhat to this question about a better
shell
terminal/gui-interface for cmd.exe
这与有关cmd.exe的更好的shell终端/ gui接口的问题有关
In my quest to find a better
shell
terminal, the only useful thing I came across was Console2, other alternatives weren't free and generally didn't offer much more than Console2 to make them worth their price.
在我寻找更好的shell终端的过程中,我遇到的唯一有用的东西是Console2,其他替代品并不是免费的,并且通常没有提供比Console2更多的价值。
I can't help but wonder, "how come"? The
shell
terminal is a very valuable tool to a programmer, yet no one came around to try and do a better job than cmd.exe (except for the guys @ console2)??
我不禁怀疑,“怎么回事”? shell终端对于程序员来说是一个非常有价值的工具,但没有人来尝试做得比cmd.exe更好(除了那些人@ console2)?
Surely designing a
command line shell
terminal emulator can't be such a hard task!
当然设计一个命令行shell终端模拟器不可能是一项艰巨的任务!
Has anyone tried writing a
shell
terminal emulator before? What's in it? Any resources out there (say, if I want to program my own shell)?
有没有人尝试过编写shell终端模拟器?里面是什么?那里有任何资源(比方说,如果我想编写自己的shell)?
UPDATE
17/07/2009
I rephrased the question, what I was referring to as a "shell" is actually called a terminal emulator (at least in the linux world). I only realized this recently so I thought I should revisit this question and fix it.
我重新提出了这个问题,我所说的“shell”实际上被称为终端模拟器(至少在linux世界中)。我最近才意识到这一点,所以我想我应该重新审视这个问题并解决它。
9 个解决方案
#1
What about PowerShell from Microsoft? AFAIK it's free, and gives you C# power right in the shell, and tons of other features. But, it DOES require the NET Framework...
那么来自微软的PowerShell呢? AFAIK它是免费的,并且在shell中为您提供C#电源,以及大量其他功能。但是,它需要.NET Framework ...
I won't endorse it yet, as I haven't really used it, but it's on my list to do...
我还不会支持它,因为我还没有真正使用过它,但它在我的名单上...
#2
There are plenty of shells around for Windows, bash under Cygwin is the one I use the most, and it's certainly free. I have to be honest here, cmd.exe has come a long way since the batch file processor of MSDOS. It's actually quite powerful, but still not a pimple on the rear end of bash :-).
Windows下有很多shell,Cygwin下的bash是我用得最多的,而且它肯定是免费的。我必须说实话,cmd.exe自MSDOS的批处理文件处理器以来已经走了很长的路。它实际上非常强大,但仍然不是bash后端的疙瘩:-)。
You should try to write a command line shell, it will be an education for you. It's not that hard to do the basics if all you want is a program launcher.
你应该尝试编写一个命令行shell,它将是你的教育。如果您想要的只是一个程序启动器,那么基础知识并不难。
But, if you want all the power of a real shell, including a full blown programming language, job control, piping, output redirection and (seriously) too many other things to list, we probably won't be hearing from you for a while. Except when you pop up your head to ask us esoteric questions about how shells should do this or that.
但是,如果你想要一个真正的shell的所有功能,包括一个完整的编程语言,作业控制,管道,输出重定向和(严重)太多其他东西列出,我们可能不会听到你一段时间。除非你弹出头来问我们关于贝壳应该如何做到这一点或那个问题的深奥问题。
#3
My bets are on Powershell for the future if you are a Windows guy.
如果你是一个Windows家伙,我的下注是关于未来的Powershell。
PowerShell will be installed by default on Windows Server 08 R2 (WS08R2) and Windows 7 according to MS.
根据MS,默认情况下,PowerShell将安装在Windows Server 08 R2(WS08R2)和Windows 7上。
I have used Powershell myself and found it to be very useful, and if you are familiar with .NET then its all the more easier.
我自己使用过Powershell,发现它非常有用,如果你熟悉.NET,那就更容易了。
Download a two page reference document here, this is all you will need to get started.
在这里下载两页参考文档,这是您开始使用的全部内容。
#4
I mean the gui-interface part that displays the text,
我的意思是显示文本的gui-interface部分,
Ah! you mean what we call a "pseudo-tty" or a "terminal emulator" in unix. In windows, I guess it is called a "console host". I do not use windows, but I heard that console2 is very good. Seems there are others:
啊!你的意思是我们在unix中称之为“伪tty”或“终端模拟器”。在Windows中,我猜它被称为“控制台主机”。我不使用Windows,但我听说console2非常好。似乎还有其他人:
and, of course, for real programmers, you have the shell mode of (x)emacs :-)
当然,对于真正的程序员,你有(x)emacs的shell模式:-)
#5
Erm... what about all the ports of Unix command shells to Windows?
嗯......那些Unix命令shell到Windows的所有端口呢?
#6
Just go with cygwin and log on using PuTTY. So much better than the standard console. :)
只需使用cygwin并使用PuTTY登录即可。比标准控制台好多了。 :)
#7
Also, Python (or perl for that matter) can replace the shell entirely.
此外,Python(或perl)可以完全替换shell。
#8
You might want to try Take Command Console, formerly 4NT, formerly 4DOS.
您可能想尝试Take Command Console,以前的4NT,以前的4DOS。
Quick summary of points you might care about:
您可能关心的要点的快速摘要:
- Command line editing with filename completion, history, and cut & paste
- Integrate PERL, Ruby, REXX, Python, and any Active Scripting language
- Fast - 20-200% faster output display than the standard Windows console
- Integrated file explorer - examine directories, drag and drop files
- Upwardly compatible with CMD.EXE with literally thousands of additions
命令行编辑,包括文件名完成,历史记录以及剪切和粘贴
集成PERL,Ruby,REXX,Python和任何活动脚本语言
快速 - 比标准Windows控制台快20-200%的输出显示
集成文件资源管理器 - 检查目录,拖放文件
向上与CMD.EXE兼容,增加了数千个
Not free (except trial version) and not open source. I haven't tried it myself, but I was a 4DOS junkie back in the day, before Cygwin.
不是免费的(试用版除外)而不是开源。我自己没有尝试过,但是在Cygwin之前,我当天是4DOS的瘾君子。
#9
If you need handy terminal - give a try to ConEmu (I'm the author). It is a Windows console window enhancement (local terminal emulator), which presents multiple consoles and simple GUI applications as one customizable tabbed GUI window with dozens of features.
如果你需要方便的终端 - 试试ConEmu(我是作者)。它是一个Windows控制台窗口增强(本地终端仿真器),它提供了多个控制台和简单的GUI应用程序,作为一个具有许多功能的可自定义选项卡式GUI窗口。
另一个答案和评论
#1
What about PowerShell from Microsoft? AFAIK it's free, and gives you C# power right in the shell, and tons of other features. But, it DOES require the NET Framework...
那么来自微软的PowerShell呢? AFAIK它是免费的,并且在shell中为您提供C#电源,以及大量其他功能。但是,它需要.NET Framework ...
I won't endorse it yet, as I haven't really used it, but it's on my list to do...
我还不会支持它,因为我还没有真正使用过它,但它在我的名单上...
#2
There are plenty of shells around for Windows, bash under Cygwin is the one I use the most, and it's certainly free. I have to be honest here, cmd.exe has come a long way since the batch file processor of MSDOS. It's actually quite powerful, but still not a pimple on the rear end of bash :-).
Windows下有很多shell,Cygwin下的bash是我用得最多的,而且它肯定是免费的。我必须说实话,cmd.exe自MSDOS的批处理文件处理器以来已经走了很长的路。它实际上非常强大,但仍然不是bash后端的疙瘩:-)。
You should try to write a command line shell, it will be an education for you. It's not that hard to do the basics if all you want is a program launcher.
你应该尝试编写一个命令行shell,它将是你的教育。如果您想要的只是一个程序启动器,那么基础知识并不难。
But, if you want all the power of a real shell, including a full blown programming language, job control, piping, output redirection and (seriously) too many other things to list, we probably won't be hearing from you for a while. Except when you pop up your head to ask us esoteric questions about how shells should do this or that.
但是,如果你想要一个真正的shell的所有功能,包括一个完整的编程语言,作业控制,管道,输出重定向和(严重)太多其他东西列出,我们可能不会听到你一段时间。除非你弹出头来问我们关于贝壳应该如何做到这一点或那个问题的深奥问题。
#3
My bets are on Powershell for the future if you are a Windows guy.
如果你是一个Windows家伙,我的下注是关于未来的Powershell。
PowerShell will be installed by default on Windows Server 08 R2 (WS08R2) and Windows 7 according to MS.
根据MS,默认情况下,PowerShell将安装在Windows Server 08 R2(WS08R2)和Windows 7上。
I have used Powershell myself and found it to be very useful, and if you are familiar with .NET then its all the more easier.
我自己使用过Powershell,发现它非常有用,如果你熟悉.NET,那就更容易了。
Download a two page reference document here, this is all you will need to get started.
在这里下载两页参考文档,这是您开始使用的全部内容。
#4
I mean the gui-interface part that displays the text,
我的意思是显示文本的gui-interface部分,
Ah! you mean what we call a "pseudo-tty" or a "terminal emulator" in unix. In windows, I guess it is called a "console host". I do not use windows, but I heard that console2 is very good. Seems there are others:
啊!你的意思是我们在unix中称之为“伪tty”或“终端模拟器”。在Windows中,我猜它被称为“控制台主机”。我不使用Windows,但我听说console2非常好。似乎还有其他人:
and, of course, for real programmers, you have the shell mode of (x)emacs :-)
当然,对于真正的程序员,你有(x)emacs的shell模式:-)
#5
Erm... what about all the ports of Unix command shells to Windows?
嗯......那些Unix命令shell到Windows的所有端口呢?
#6
Just go with cygwin and log on using PuTTY. So much better than the standard console. :)
只需使用cygwin并使用PuTTY登录即可。比标准控制台好多了。 :)
#7
Also, Python (or perl for that matter) can replace the shell entirely.
此外,Python(或perl)可以完全替换shell。
#8
You might want to try Take Command Console, formerly 4NT, formerly 4DOS.
您可能想尝试Take Command Console,以前的4NT,以前的4DOS。
Quick summary of points you might care about:
您可能关心的要点的快速摘要:
- Command line editing with filename completion, history, and cut & paste
- Integrate PERL, Ruby, REXX, Python, and any Active Scripting language
- Fast - 20-200% faster output display than the standard Windows console
- Integrated file explorer - examine directories, drag and drop files
- Upwardly compatible with CMD.EXE with literally thousands of additions
命令行编辑,包括文件名完成,历史记录以及剪切和粘贴
集成PERL,Ruby,REXX,Python和任何活动脚本语言
快速 - 比标准Windows控制台快20-200%的输出显示
集成文件资源管理器 - 检查目录,拖放文件
向上与CMD.EXE兼容,增加了数千个
Not free (except trial version) and not open source. I haven't tried it myself, but I was a 4DOS junkie back in the day, before Cygwin.
不是免费的(试用版除外)而不是开源。我自己没有尝试过,但是在Cygwin之前,我当天是4DOS的瘾君子。
#9
If you need handy terminal - give a try to ConEmu (I'm the author). It is a Windows console window enhancement (local terminal emulator), which presents multiple consoles and simple GUI applications as one customizable tabbed GUI window with dozens of features.
如果你需要方便的终端 - 试试ConEmu(我是作者)。它是一个Windows控制台窗口增强(本地终端仿真器),它提供了多个控制台和简单的GUI应用程序,作为一个具有许多功能的可自定义选项卡式GUI窗口。
另一个答案和评论