Postimi i urrejtjes ndaj Shellet të Fuqishëm

Ka një herë shkruajta një skript të thjeshtë, që fshin në një direktor të caktuar të gjitha nën-direktoritë me emrat e dhënë:

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

Nuk e kam përdorur prej kohësh, por tani më duhej. E nisa - nuk fshiu asgjë.

«ÇfarĂ« po ndodh?», mendoj. Fillova tĂ« kĂ«rkoj. U pĂ«rlesha, shikoja, krijova njĂ« listĂ« paraprake, ndryshova emrat - prapĂ« asgjĂ«. NĂ« fund, lexova nĂ« dokumentacionin e tyre: "NĂ« fakt, -Include ka probleme kur pĂ«rdoret me -Recurse, prandaj pĂ«rdorni njĂ« konstruksion tĂ« ndihmĂ«s.":

Për shkak se parametrat Recurse në Remove-Item kanë një problem të njohur, komandën në këtë shembull e përdor Get-ChildItem për të marrë skedaret e dëshiruara, dhe pastaj përdor operatorin e pipeline për t'i kaluar ato në Remove-Item.

Mirë, e ribëra duke e përdorur këtë truk. Prapë - asgjë nuk fshihet. Më shumë se kaq, Get-ChildItem me -Include kthen boshllëk. Prapë, çfarë nuk bëra, si nuk njëndryshova parametrat - nuk funksionon. Më e rëndësishmja, me -Exclude punon, ndryshe nga -Include asnjëherë. Kalova një ditë të tërë mbi këtë: mendoja se ndoshta kisha bërë ndonjë gabim në parameter, se kisha anashkaluar ndonjë nuancë të hollë. Dhe çfarë doli në fund? E instalova PS7.1 - aty funksionoi. Aty madje versioni i parë pa ndihmën që përdora vetëm Remove-Item ka funksionuar. Pra, doli të ishte një defekt i tyre.

Por pasi u mundova me Shell-in e tyre të Fuqishëm, fillova të kërkoj në Google përse sintaksa e tyre është kaq e ndërlikuar. Pohoj, ata e pozicionojnë atë si .NET për konsola, por sintaksa e C# nuk ka asnjë shenjë. Në vend të saj...

Përsëri, hasra një artikull të tillë: "What I Hate About PowerShell". Siç thotë shprehja: «Nuk mund të jem më i dakord.»

Dyshoj se ekipi i Shell-it të Fuqishëm është një grup adhuruesish të Bash-it.

— Le tĂ« krijojmĂ« nĂ« fund njĂ« konsol pĂ«r Windows ku tĂ« mund tĂ« shkruajmĂ« skripta tĂ« sofistikuara. Se cmd ynĂ« ka mbetur prapa, aq sa na vjen pak turp.
— Le t'i bĂ«jmĂ«! ÇfarĂ« do tĂ« pĂ«rdorim? Ne tashmĂ« kemi VBScript, JScript. NĂ« fund, kemi gjuhĂ«t pĂ«r .NET: C#, VB. A nuk mund ta bĂ«jmĂ« nĂ« C#? Do tĂ« thotĂ«, do ta pĂ«rdorim C# si gjuhĂ« skriptimi pĂ«r konsolĂ«n tonĂ«. Sidomos, ne duam tĂ« sjellim klasat .NET.
— Jo, mos me thuaj, çfarĂ« C#? Gikat e vĂ«rtetĂ« pĂ«rdorin bash! Prandaj le tĂ« bĂ«jmĂ« bash pĂ«r Windows. Nuk ka rĂ«ndĂ«si se sintaksa pĂ«r bash-in Ă«shtĂ« shkruar, duket, nga njĂ« turmĂ« pasionantĂ«sh nĂ« vitet 1960. NĂ« pĂ«rgjithĂ«si, sa mĂ« e komplikuar, aq mĂ« mirĂ«! Qartëësia intuitiviteti - Ă«shtĂ« pĂ«r tĂ« dobĂ«tit! GjatĂ« shkruajtjes sĂ« skriptit nĂ« gjuhĂ«n tonĂ«, pĂ«rdoruesi duhet patjetĂ«r tĂ« mallkojĂ« gjithçka dhe tĂ« shpikĂ« disa tĂ« reja fjalĂ« ofendimi. VetĂ«m njĂ« gjuhĂ« e tillĂ« ka tĂ« drejtĂ« tĂ« jetojĂ«. Po, linuksoidĂ«t gjithmonĂ« jetojnĂ« kĂ«shtu dhe gĂ«zojnĂ« nga kjo pĂ«rvojĂ« tĂ« papĂ«rshkruar. ÇfarĂ« i bĂ«n ata mĂ« tĂ« mirĂ« se ne?

Vetëm përdoruesit e regjistruar mund të marrin pjesë në anketë. Hyni, ju lutemi.

A e përdorni PowerShell dhe a jeni të kënaqur?

  • 30,3%Nuk e pĂ«rdor

  • 29,6%Kam provuar - nuk mĂ« pĂ«lqeu

  • 23,5%E pĂ«rdor dhe jam i kĂ«naqur

  • 12,9%E pĂ«rdor, por nuk jam i kĂ«naqur

  • 3,8%Hurrah! NĂ« fund mund ta pĂ«rdor bash-in tim tĂ« preferuar nĂ« Windows!

132 përdorues kanë votuar. 26 përdorues abstenuan.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster