Mighty Shell Hate Post

Jau sen es uzrakstīju vienkāršu skriptu, kas noteiktā direktorijā izdzēsa visus apakšdirektorijas ar nosaukumiem:

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

Sen nebiju lietojusi, bet nu man vajadzēja. Es to palaižu - nekas netiek izdzēsts.

"WTF?" Es domāju. Es sāku rakt. Es čubinājos, izgāju visam cauri, izveidoju sarakstu iepriekš, un nomainīju nosaukumus - joprojām nekas netiek izdzēsts. Visbeidzot, viņu dokumentā es izlasīju: "Faktiski -Include ir kļūdains, ja to lieto kopā ar -Recurse, tāpēc izmantojiet kruķu konstrukciju.":

Tā kā vienumu noņemšanas parametram Recurse ir zināma problēma, šī piemēra komanda izmanto Get-ChildItem, lai iegūtu vajadzīgos failus, un pēc tam izmanto konveijera operatoru, lai tos nodotu vienumam Remove-Item.

Nu, labi, es to pārrakstīju, izmantojot šo kruķi. Lielisks darījums — tas neko neizdzēš. Turklāt, Get-ChildItem с - Iekļauts atgriež tukšumu. Atkal, neatkarīgi no tā, ko es darīju, neatkarīgi no tā, kā es izkropļoju parametrus, tas nedarbojās. Galvenais ir ar -Izslēgt darbojas, bet ar - Iekļauts nevar būt. Es tam pavadīju veselu dienu: nemitīgi domāju, ka kaut kur parametros esmu ieskrūvējis, ka neesmu ņēmis vērā kādu viltīgu niansi. Un kas beigās notika? Es tos instalēju uz PS7.1, un tas strādāja. Tas pat satur pirmo bezkruķu opciju, kas tiek izmantota tikai Noņemt vienumu nopelnījis. Kopumā izrādījās, ka tā ir viņu kļūda.

Bet, būdams cietis ar viņu Mighty Shell, es devos uz Google, lai izlasītu, kāpēc viņu apvalkam ir tik prātu satriecoša sintakse. Sasodīts, viņi to pozicionē kā .NET konsolei, bet viņi pat nejūt C# sintakse. Viņa vietā…

Jebkurā gadījumā es uzgāju šo rakstu: "Ko es ienīstu par PowerShell". Kā saka: "Es nevarētu vairāk piekrist."

Man ir aizdomas, ka Mighty Shell komanda ir Baša fanu bars.

- Beidzot izveidosim konsoli operētājsistēmai Windows, kurā varat rakstīt sarežģītus skriptus. Citādi mūsu cmd ir novecojis, tik ļoti, ka mums jau ir neliels kauns.
- Ejam! Pamatojoties uz to, ko mēs darīsim? Mums jau ir VBScript, JScript. Visbeidzot, mums ir valodas .NET: C#, VB. Varbūt mēs to varam izdarīt C#? Es domāju, ka mēs izmantosim C# kā mūsu konsoles skriptu valodu. Turklāt mēs vēlamies tur pievienot .NET klases.
- Nē, ko tu dari, vecīt, kāds C#? Īsti gīki izmanto bash! Tāpēc izveidosim bash operētājsistēmai Windows. Man ir vienalga, ka bash sintaksi acīmredzot 1960. gados uzrakstīja pūlis nomētātu hipsteru. Kopumā, jo sarežģītāk, jo labāk! Intuitivitāte ir vājajiem! Rakstot skriptu mūsu valodā, lietotājam ir jānolādē viss pasaulē un jāizgudro pāris jauni lāsta vārdi. Tikai tādai valodai ir tiesības uz dzīvību. Paskatieties, Linux lietotāji tā dzīvo visu mūžu un no tā visa gūst neizskaidrojamu saviļņojumu. Kāpēc mēs esam sliktāki?

Aptaujā var piedalīties tikai reģistrēti lietotāji. Ielogoties, lūdzu.

Vai izmantojat PowerShell un vai esat apmierināts ar to?

  • 30,3%Es nelietoju 40

  • 29,6%Es to izmēģināju un man nepatika39

  • 23,5%Lietoju un ar visu esmu apmierināta31

  • 12,9%Es to izmantoju, bet neesmu apmierināts17

  • 3,8%Urrā! Beidzot varu izmantot savu iecienītāko bash operētājsistēmā Windows!5

Nobalsoja 132 lietotāji. 26 lietotāji atturējās.

Avots: www.habr.com

Pievieno komentāru