为特定于域的操作创建独立的控制台(shell)

mr.*_*r.b 5 .net c# shell console-application

假设我有一个系统服务,我想提供一个低级别的维护访问权限.

为此,我想创建某种方式连接到服务器的过程中,让用户键入命令的独立,控制台应用程序,允许它使用自动完成和自动建议单人/双人TAB按(就像Linux的庆典shell,mysql cli,cmd.exe和无数其他),允许命令行编辑功能(历史记录,光标键移动文本..)等.

现在,通过从头开始自己滚动,处理用户输入,扫描按下的键以及执行正确的操作来创建类似的东西并不是什么大问题.但是,为什么重新发明轮子?是否有一些库/框架可以帮助解决这类问题,就像readline库在linux下提供改进的命令行编辑功能一样?

当然,这个新的"shell"只响应有效的,特定于域的命令,并建议有效的参数,选项,开关......

有任何想法吗?谢谢!

Tim*_*oyd 1

这听起来很适合 PowerShell。它是一个成熟的 shell,您可以创建自定义 shell,为您的域特定命令(可以用 C# 开发)托管一组管理单元,并且它还允许远程执行命令。

不利的一面是,为您的具体情况实施某些东西并不是免费的,因为工作量很小。

许多 MS 服务器产品现在都有自定义的 PowerShell“Shell”,例如

交换 - http://technet.microsoft.com/en-us/library/dd297939.aspx

更新

缺点是学习一种新的 shell 以及如何定制它,尤其是面向对象的 shell。兔子洞在这方面很深入,但手动滚动您自己的 shell 功能本身显然非常耗时。

一些链接:

本书:Windows PowerShell 实战

一般: http: //www.computerperformance.co.uk/powershell/index.htm

介绍自定义命令\span-in:http ://msdn.microsoft.com/en-us/magazine/cc163293.aspx