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

时间:2010-06-15 23:55:37

标签: c# .net shell console-application

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

为此,我想创建一个独立的控制台应用程序,它以某种方式连接到服务器进程并允许用户输入命令,允许它在单/双TAB按下时使用自动完成和自动建议(只是比如linux bash shell,mysql cli,cmd.exe和无数其他),允许命令行编辑功能(历史记录,光标键移动文本..)等。

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

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

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

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

在缺点方面,针对您的具体案例实施某些内容并不是免费的,就像在小工作中一样。

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

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

<强>更新

缺点是学习一个新的shell以及如何定制它,特别是面向对象的一个​​。兔子洞很深入,但手动滚动你自己的外壳功能本身显然非常耗时。

一些联系:

这本书:Windows PowerShell in Action

将军:http://www.computerperformance.co.uk/powershell/index.htm

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

相关问题