Това може да бъде много разочароващо, когато вашият професор казва, че едно нещо относно PowerShell и различни уебсайтове изглежда предлагат солидно доказателство за противното. Дали PowerShell действително работи върху не-Windows системи или не? Днешната публикация на SuperUser Q & A е отговорът на озадачен въпрос на читателя.
Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.
Reader на SuperUser FredSavage187 иска да знае дали PowerShell работи на други операционни системи освен Windows:
Професорът ми по компютърни науки наскоро ни даде тест и един от въпросите беше "Вярно или невярно: PowerShell работи на Windows, Mac и Linux". Правилният отговор беше "фалшив" и той твърди, че PowerShell е нещо само за Windows. Но намерих няколко уебсайта, които казват друго:
PowerShell е отворен и е достъпен на Linux [Microsoft Azure Blog]
PowerShell Repository [GitHub]
Кое всъщност е вярно? Дали PowerShell работи върху Linux и Mac OS, както и Windows?
Дали PowerShell работи върху други операционни системи освен Windows?
Сътрудникът на SuperUser Бен Н има отговор за нас:
Да. Голяма част от PowerShell е .NET, така че може да работи на всяка операционна система, която има общ езиков цикъл (CLR). На Windows, това е .NET Framework. За други операционни системи, включително Linux, можете да използвате CoreCLR, подмножество от отворен код, междуплатформена платформа на .NET Framework.
Както научихте в хранилището PowerShell на GitHub, поддържат се няколко операционни системи и дистрибуции. Например, тук са инструкциите за Ubuntu и демонстрация:
Може да се твърди, че не всички PowerShell са налични в среда, различна от Windows, тъй като някои функции зависят от библиотеките, намиращи се само в Windows. Най- ParsedHtml собственост върху HtmlWebResponseObject тип, върнат от Invoke-WebRequest, например, е полезна само за Windows, защото съдържа COM обект, който идва от несъздадена библиотека, mshtml.dll да бъдете конкретни. На други платформи няма нищо. Разбира се, има и команди за управление на системи, намиращи се само в Windows, като модерни приложения (Get-AppxPackage, например).
И все пак инфраструктурата на PowerShell работи перфектно на други операционни системи, много от командите могат да се използват навсякъде и подкрепата става все по-добра.
Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.
Кредити за изображения: Джеф Хикс (Petri IT Knowledgebase)