2010-06-15 20 views
5

Giả sử tôi có dịch vụ hệ thống và tôi muốn cung cấp quyền truy cập bảo trì cấp thấp cho dịch vụ này. Vì mục đích đó, tôi muốn tạo một ứng dụng độc lập, kết nối với quy trình máy chủ và cho phép người dùng nhập lệnh, cho phép nó sử dụng tự động hoàn thành và tự động đề xuất trên báo chí TAB đơn/đôi (giống như vỏ bash linux, mysql cli, cmd.exe và vô số người khác), cho phép khả năng chỉnh sửa dòng lệnh (lịch sử, các phím con trỏ di chuyển xung quanh văn bản ..), v.v.Tạo độc lập, bảng điều khiển (shell) cho các hoạt động trên miền cụ thể

Bây giờ, nó không phải là nhiều vấn đề để tạo ra một cái gì đó như thế bằng cách lăn của riêng tôi từ đầu, xử lý đầu vào của người dùng, quét các phím bấm, và làm các hành động chính xác. Nhưng, tại sao tái tạo lại bánh xe? Có một số thư viện/khuôn khổ giúp với loại vấn đề, giống như thư viện readline cung cấp khả năng chỉnh sửa dòng lệnh được cải thiện dưới Linux?

Tất nhiên, mới "vỏ" này sẽ phản ứng duy nhất, lệnh miền cụ hợp lệ, và sẽ đề nghị đối số hợp lệ, tùy chọn, chuyển mạch ...

Bất kỳ ý tưởng? Cảm ơn!

Trả lời

1

Điều này nghe có vẻ phù hợp với PowerShell. Nó là một shell hoàn chỉnh, bạn có thể tạo các shell tùy chỉnh chứa một tập các snapins cho các lệnh miền cụ thể của bạn (có thể được phát triển trong C#), và nó cũng cho phép thực hiện các lệnh từ xa.

Mặt khác, việc triển khai thực hiện điều gì đó cho trường hợp cụ thể của bạn sẽ không được miễn phí, như trong công việc nhỏ.

Nhiều sản phẩm máy chủ MS hiện có PowerShell tùy chỉnh "Vỏ", ví dụ:

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

Cập nhật

Nhược điểm đang học một lớp vỏ mới và làm thế nào để tùy chỉnh nó, và một đặc biệt đó là hướng đối tượng. Các lỗ thỏ đi sâu vào điều này, nhưng tay cán chức năng vỏ của riêng bạn rõ ràng có thể khá tốn thời gian trong chính nó.

Một số liên kết:

Cuốn sách: Windows PowerShell in Action

chung: http://www.computerperformance.co.uk/powershell/index.htm

Giới thiệu về lệnh tùy chỉnh \ khoảng-in: http://msdn.microsoft.com/en-us/magazine/cc163293.aspx

+0

Bạn có thể cho tôi biết nơi để tìm kiếm thêm thông tin về môn học? Ngoài ra, nếu bạn không ngại xây dựng nhược điểm đó một chút - bạn có nghĩa là nếu tôi đi xuống con đường riêng của mình, hoặc nếu tôi thử thực hiện những gì tôi muốn bằng cách sử dụng PS? –

+0

@ mr.b Xin lỗi có, tôi có nghĩa là nhược điểm sẽ nhận được để hiểu thấu với toàn bộ điều PS. –

+0

Cảm ơn, bạn đã thực sự hữu ích! –

Các vấn đề liên quan