Vai PowerShell strādā pie citām operētājsistēmām, ne tikai Windows?
Tas var būt ļoti apgrūtinoši, kad jūsu profesors saka, ka viena lieta par PowerShell un dažādas tīmekļa vietnes, šķiet, piedāvā pārliecinošu pretējo pierādījumu. Vai PowerShell faktiski strādā ar sistēmām, kas nav sistēmas Windows, vai ne? Šodienas SuperUser Q&A postenim ir atbilde uz neskaidru lasītāja jautājumu.
Šodienas jautājumu un atbilžu sesija mums dod pieklājību no SuperUser-Stack Exchange apakšnodaļas, kas ir kopienas orientēta Q & A tīmekļa vietņu grupa.
Jautājums
SuperUser lasītājs FredSavage187 vēlas zināt, vai PowerShell darbojas arī citās operētājsistēmās, izņemot Windows:
Mans datorzinātņu profesors nesen sniedza mums viktorīnu, un viens no jautājumiem bija: “True vai False: PowerShell darbojas uz Windows, Mac un Linux”. Pareizā atbilde bija „nepatiesa”, un viņš apgalvo, ka PowerShell ir tikai Windows lieta. Bet es atklāju pāris tīmekļa vietnes, kurās teikts citādi:
PowerShell ir atvērts un pieejams Linux [Microsoft Azure Blog]
PowerShell krātuve [GitHub]
Kurš no tiem ir pareizs? Vai PowerShell darbojas gan Linux, gan Mac OS, kā arī Windows?
Vai PowerShell strādā pie citām operētājsistēmām, izņemot Windows?
Atbilde
SuperUser ieguldītājam Ben N ir atbilde mums:
Jā. Liela daļa PowerShell ir .NET, tāpēc tā var darboties jebkurā operētājsistēmā, kurai ir kopēja valodas lietošanas laiks (CLR). Windows, tas ir .NET Framework. Citām operētājsistēmām, ieskaitot Linux, varat izmantot CoreCLR, atvērtā pirmkoda, starpplatformu .NET Framework apakškopa..
Kā jūs uzzinājāt PowerShell repozitorijā par GitHub, tiek atbalstītas dažas operētājsistēmas un sadalījumi. Piemēram, šeit ir norādījumi par Ubuntu un demonstrāciju:
Varētu apgalvot, ka ne visi PowerShell ir pieejami vidēs, kas nav Windows, jo dažas funkcijas ir atkarīgas no bibliotēkām, kas atrodamas tikai sistēmā Windows. The ParsedHtml īpašums uz HtmlWebResponseObject atpakaļ Invoke-WebRequest, piemēram, ir noderīga tikai Windows, jo tai ir COM objekts, kas nāk no nepārvaldītas bibliotēkas, mshtml.dll specifiski. Citās platformās nav nekas. Un, protams, ir cmdlet, lai pārvaldītu sistēmas, kas atrodamas tikai sistēmā Windows, piemēram, modernās lietotnes (Get-AppxPackage, piemēram).
Lai gan PowerShell infrastruktūra darbojas labi citās operētājsistēmās, daudz cmdlet ir izmantojama jebkurā vietā, un atbalsts tikai uzlabojas.
Vai kaut kas jāpievieno paskaidrojumam? Skaņas izslēgšana komentāros. Vai vēlaties lasīt vairāk atbildes no citiem tehnoloģiju gudriem Stack Exchange lietotājiem? Apskatiet pilnu diskusiju pavedienu šeit.
Attēlu kredīti: Jeff Hicks (Petri IT zināšanu bāze)