If-Koubou

Vai PowerShell darbojas citās operētājsistēmās, izņemot Windows?

Vai PowerShell darbojas citās operētājsistēmās, izņemot Windows? (Kā)

Tas var būt ļoti satraucoši, kad jūsu profesors saka vienu lieta par PowerShell, un dažādas tīmekļa vietnes, šķiet, sniedz pārliecinošu pierādījumu par pretējo. Vai PowerShell faktiski darbojas citās sistēmās, vai ne? Šodienas SuperUser Q & A ziņai ir atbilde uz neizpratni lasītāja jautājumu.

Šodienas jautājumu un atbilžu sesija mums priecājas par SuperUser - Stack Exchange dalību, kas ir kopienas vadīta Q & A tīmekļa vietņu grupa.

Jautājums

SuperUser lasītājs FredSavage187 vēlas uzzināt, vai PowerShell darbojas citās operētājsistēmās, izņemot Windows:

Mana datorzinātņu profesore nesen deva mums viktorīnu un viens no jautājumiem bija "Patiesa vai nepatiesa: PowerShell darbojas uz Windows, Mac un Linux". Pareizā atbilde bija "nepatiesa", un viņš apgalvo, ka PowerShell ir vienīgā Windows lieta. Bet es atradu pāris tīmekļa vietnes, kas citādi teikt:

PowerShell ir atvērts un pieejams Linux [Microsoft Azure Blog]

PowerShell krātuve [GitHub]

Kurš ir patiešām pareizs? Vai PowerShell darbojas Linux un Mac OS, kā arī Windows?

Vai PowerShell darbojas citās operētājsistēmās, izņemot Windows?

Atbilde

SuperUser atbalstītājs Ben N ir atbilde mums:

Jā. Liela daļa PowerShell ir .NET, tādēļ tā var darboties jebkurā operētājsistēmā, kurai ir Common Language Runtime (CLR). Uz Windows tas ir .NET Framework. Citām operētājsistēmām, ieskaitot Linux, varat izmantot .NET Framework CoreCLR, kas ir atvērtā koda starpplatformu apakškopa.

Kā jūs uzzinājāt PowerShell krātuvē GitHub, tiek atbalstītas diezgan daudz operētājsistēmu un sadales. Piemēram, šeit ir norādījumi par Ubuntu un demonstrāciju:

Varētu apgalvot, ka ne visi PowerShell ir pieejami citās vidēs, jo dažas funkcijas ir atkarīgas no bibliotēkām, kuras atrastas tikai sistēmā Windows. The ParsedHtml īpašums uz HtmlWebResponseObject veids, kuru atgriež Invoke-WebRequest, piemēram, ir noderīgs tikai operētājsistēmā Windows, jo tam ir COM objekts, kas nāk no nekontrolētas bibliotēkas, mshtml.dll jābūt specifiskam. Citās platformās tur nekas nav. Un, protams, ir arī cmdletes, lai pārvaldītu sistēmās, kas atrodamas tikai sistēmā Windows, piemēram, Modernās lietotnes (Get-AppxPackage, piemēram).

Tomēr PowerShell infrastruktūra darbojas lieliski ar citām operētājsistēmām, daudzas cmdoles ir izmantojamas visur, un atbalsts tikai uzlabojas.

Vai kaut ko pievienot paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem? Šeit skatiet pilnu diskusiju pavedienu.

Attēlu kredīti: Jeff Hicks (Petri IT zināšanu bāze)