2010-06-15 11 views
5

Załóżmy, że mam usługę systemową i chcę zaoferować dostęp do niej na niskim poziomie.Tworzenie autonomicznej konsoli (powłoki) dla operacji specyficznych dla domeny

W tym celu chciałbym utworzyć samodzielną aplikację konsolową, która w jakiś sposób łączy się z procesem serwera i pozwala użytkownikowi na wpisywanie komend, pozwala na automatyczne uzupełnianie i automatyczną sugestię na pojedynczym/podwójnym naciśnięciu klawisza TAB (tak jak powłoka bash linuksa, mysql cli, cmd.exe i niezliczona ilość innych), pozwalają na edycję wiersza poleceń (historia, klawisze kursora, aby poruszać się po tekście ...), itp.

Teraz to nie jest tak dużo Problem polegał na stworzeniu czegoś podobnego poprzez toczenie własnych od podstaw, obsługę wprowadzania danych przez użytkownika, skanowanie naciśniętych klawiszy i wykonywanie właściwych czynności. Ale dlaczego warto odkrywać nowe koło? Czy istnieje jakaś biblioteka/framework, która pomaga w tego typu problemach, podobnie jak biblioteka readline, która oferuje ulepszone możliwości edycji wiersza poleceń pod linuxem?

Oczywiście, ta nowa „shell” zareaguje tylko, ważnych poleceń dla konkretnych domen, i sugerowałoby ważnych argumentów, opcje, przełączniki ...

Jakieś pomysły? Dzięki!

Odpowiedz

1

To brzmi jak dopasowanie do PowerShell. Jest to pełnoprawna powłoka, możesz tworzyć niestandardowe powłoki, które zawierają zestaw snapinów dla poleceń specyficznych dla twojej domeny (które mogą być rozwijane w języku C#), a także umożliwiają zdalne wykonywanie poleceń.

Z drugiej strony, wdrożenie czegoś w konkretnym przypadku nie będzie bezpłatne, jak w przypadku niewielkiej pracy.

Wiele produktów serwerowych MS ma teraz niestandardowe "powłoki" PowerShell, np.

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

Aktualizacja

Minusem jest nauka nową powłokę i jak ją dostosować, a szczególnie jeden, który jest zorientowane obiektowo. Dziura w króliku jest na tym głęboka, ale ręczne toczenie własnej funkcjonalności powłoki może oczywiście być bardzo czasochłonne.

Niektóre podnośnik:

Książka: Windows PowerShell in Action

ogólne: http://www.computerperformance.co.uk/powershell/index.htm

Intro polecenia niestandardowe \ rozpiętość w: http://msdn.microsoft.com/en-us/magazine/cc163293.aspx

+0

Czy możesz mi powiedzieć, gdzie szukać więcej informacji w sprawie Przedmiot? Poza tym, jeśli nie masz nic przeciwko temu, żeby trochę rozwiać ten problem - czy miałeś na myśli to, że jeśli zejdę na własną rękę, czy też spróbuję wdrożyć to, co chcę, używając PS? –

+0

@ mr.b Przepraszam, tak, miałem na myśli, że wadą będzie poradzenie sobie z całą sprawą PS. –

+0

Dzięki, byłeś bardzo pomocny! –

Powiązane problemy