PowerShell có hoạt động trên các hệ điều hành khác ngoài Windows không?
Có thể rất bực bội khi giáo sư của bạn nói một điều về PowerShell và các trang web khác nhau dường như cung cấp bằng chứng chắc chắn ngược lại. PowerShell có thực sự hoạt động trên các hệ thống không phải Windows hay không? Bài đăng Hỏi & Đáp của SuperUser hôm nay có câu trả lời cho câu hỏi của người đọc khó hiểu.
Phiên hỏi và trả lời hôm nay đến với chúng tôi nhờ sự hỗ trợ của SuperUser - một phân ngành của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều khiển.
Câu hỏi
Trình đọc SuperUser FredSavage187 muốn biết liệu PowerShell có hoạt động trên các hệ điều hành khác ngoài Windows không:
Giáo sư khoa học máy tính của tôi gần đây đã cho chúng tôi một bài kiểm tra và một trong những câu hỏi là, Đúng hay Sai: PowerShell hoạt động trên Windows, Mac và Linux. Câu trả lời đúng là sai false và anh ấy cho rằng PowerShell là một thứ duy nhất của Windows. Nhưng tôi đã tìm thấy một vài trang web nói khác:
PowerShell là nguồn mở và có sẵn trên Linux [Blog Microsoft Azure]
Kho lưu trữ PowerShell [GitHub]
Cái nào thực sự đúng? PowerShell có hoạt động trên Linux và Mac OS cũng như Windows không?
PowerShell có hoạt động trên các hệ điều hành khác ngoài Windows không?
Câu trả lời
Người đóng góp siêu người dùng Ben N có câu trả lời cho chúng tôi:
Vâng. Phần lớn PowerShell là .NET, vì vậy nó có thể chạy trên bất kỳ hệ điều hành nào có Runtime Ngôn ngữ chung (CLR). Trên Windows, đó là .NET Framework. Đối với các hệ điều hành khác, bao gồm Linux, bạn có thể sử dụng CoreCLR, một tập hợp con đa nền tảng, nguồn mở của .NET Framework.
Như bạn đã học tại kho PowerShell trên GitHub, khá nhiều hệ điều hành và bản phân phối được hỗ trợ. Ví dụ, đây là hướng dẫn cho Ubuntu và trình diễn:
Người ta có thể lập luận rằng không phải tất cả PowerShell đều khả dụng trong các môi trường không phải Windows vì một số tính năng phụ thuộc vào các thư viện chỉ có trong Windows. Các Phân tích cú pháp tài sản trên HtmlWebResponseObject loại được trả về bởi Gọi-WebRequest, ví dụ, chỉ hữu ích trên Windows vì nó chứa một đối tượng COM đến từ thư viện không được quản lý, mshtml.dll để được cụ thể. Trên các nền tảng khác, không có gì ở đó. Và, tất nhiên, có các lệnh ghép ngắn để quản lý các hệ thống chỉ có trong Windows, như các ứng dụng Hiện đại (Gói ứng dụng, ví dụ).
Tuy nhiên, cơ sở hạ tầng PowerShell hoạt động hoàn hảo trên các hệ điều hành khác, rất nhiều lệnh ghép ngắn có thể sử dụng ở bất cứ đâu và hỗ trợ chỉ trở nên tốt hơn.
Có một cái gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra chủ đề thảo luận đầy đủ ở đây.
Tín dụng hình ảnh: Jeff Hicks (Petri IT kiến thức)