Mighty Shell Poot Post

Matagal na ang nakalipas nagsulat ako ng isang simpleng script na nagtanggal ng lahat ng mga subdirectory na may mga ibinigay na pangalan sa isang tinukoy na direktoryo:

Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue

Matagal ko nang hindi nagamit, pero ngayon kailangan ko na. Pinatakbo ko ito at wala pang natanggal.

"WTF?", tingin ko. Nagsimula akong maghukay. Kinalikot ko at kinalikot, pinag-usapan ang lahat, gumawa ng listahan nang maaga, at binago ko ang mga pangalan - wala pa ring natatanggal. Sa huli, nabasa ko sa kanilang dokumento: "Sa totoo lang, -Include ay buggy kapag ginamit kasabay ng -Recurse, kaya gamitin ang crutch construct.":

Dahil ang Recurse parameter sa Remove-Item ay may alam na isyu, ang command sa halimbawang ito ay gumagamit ng Get-ChildItem para makuha ang mga gustong file, at pagkatapos ay ginagamit ang pipeline operator para ipasa ang mga ito sa Remove-Item.

Well, okay, isinulat ko ito gamit ang saklay na ito. One hell of a deal - hindi nito tinatanggal ang anuman. Bukod dito, Get-ChildItem с -Isama nagbabalik ng kawalan. Muli, anuman ang ginawa ko, gaano man ko ginulo ang mga parameter, hindi ito gumana. Ang pangunahing bagay ay kasama -Ibukod gumagana, ngunit may -Isama walang paraan. Ginugol ko ito ng isang buong araw: Paulit-ulit kong iniisip na sa isang lugar sa mga parameter na nasira ko, na hindi ko isinasaalang-alang ang ilang nakakalito na nuance. At ano ang nangyari sa huli? Na-install ko ang mga ito sa PS7.1 at gumana ito. Naglalaman pa ito ng unang crutchless na opsyon gamit lamang Alisin-Item kinita. Sa pangkalahatan, ito ay naging kanilang bug.

Ngunit dahil nagdusa ako sa kanilang Mighty Shell, nagpunta ako sa Google para basahin kung bakit may napakagandang syntax ang kanilang shell. Damn, ipinoposisyon nila ito bilang .NET para sa console, ngunit hindi man lang nila naaamoy ang C# syntax. Sa halip na siya…

Anyway, nakita ko ang artikulong ito: "Ang Kinaiinisan Ko Tungkol sa PowerShell". Gaya ng sinasabi nila: "Hindi na ako sumasang-ayon."

Pinaghihinalaan ko na ang Mighty Shell team ay isang grupo ng mga tagahanga ng Bash.

- Sa wakas, gumawa tayo ng console para sa Windows kung saan maaari kang sumulat ng mga kumplikadong script. Kung hindi, outdated na yung cmd namin, kaya medyo nahihiya na kami.
- Tayo! Base sa gagawin natin? Mayroon na kaming VBScript, JScript. Sa wakas, mayroon kaming mga wika para sa .NET: C#, VB. Siguro magagawa natin ito sa C#? Ibig kong sabihin, gagamitin namin ang C# bilang scripting language para sa aming console. Bukod dito, gusto naming magdagdag ng mga .NET na klase doon.
- Hindi, ano ang ginagawa mo, pare, anong C#? Gumagamit ng bash ang mga totoong geeks! Kaya gumawa tayo ng bash para sa Windows. Wala akong pakialam na ang syntax para sa bash ay tila isinulat ng isang pulutong ng mga binato na hipsters noong 1960s. Sa pangkalahatan, mas kumplikado ang mas mahusay! Ang intuitiveness ay para sa mga mahihina! Kapag nagsusulat ng script sa ating wika, dapat sumpain ng user ang lahat ng bagay sa mundo at mag-imbento ng ilang bagong sumpa na salita. Tanging ang gayong wika lamang ang may karapatang mabuhay. Tingnan, ang mga tao sa Linux ay nabubuhay nang ganito sa buong buhay nila at nakakakuha ng hindi maipaliwanag na kilig mula sa lahat ng ito. Bakit mas masahol pa tayo?

Ang mga rehistradong user lamang ang maaaring lumahok sa survey. Mag-sign in, pakiusap

Gumagamit ka ba ng PowerShell at komportable ka ba dito?

  • 30,3%Hindi ako gumagamit ng40

  • 29,6%Sinubukan ko ito at hindi ko ito nagustuhan39

  • 23,5%Ginagamit ko ito at masaya ako sa lahat31

  • 12,9%Ginagamit ko ito, ngunit hindi ako masaya17

  • 3,8%Hooray! Sa wakas ay magagamit ko na ang aking paboritong bash sa Windows!5

132 na user ang bumoto. 26 user ang umiwas.

Pinagmulan: www.habr.com

Magdagdag ng komento