Mighty Shell Hate Post

Շատ վաղուց ես գրել էի մի պարզ սցենար, որը ջնջում էր նշված անուններով բոլոր ենթագրքերները նշված գրացուցակում.

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

Վաղուց չէի օգտագործում, բայց հիմա դրա կարիքն ունեի։ Ես գործարկում եմ այն, ոչինչ չի ջնջվում:

«WTF?», կարծում եմ: Ես սկսեցի փորել։ Ես ջութակեցի ու ջութակեցի, անցա ամեն ինչի միջով, նախօրոք ցուցակ ստեղծեցի և անունները փոխեցի - դեռ ոչինչ ջնջված չէ։ Վերջապես, նրանց փաստաթղթում ես կարդացի.Իրականում, -Include-ը խելագարված է, երբ օգտագործվում է -Recurse-ի հետ միասին, ուստի օգտագործեք հենակային կոնստրուկցիան:":

Քանի որ Recurse պարամետրը Remove-Item-ում հայտնի խնդիր ունի, այս օրինակի հրամանն օգտագործում է Get-ChildItem՝ ցանկալի ֆայլերը ստանալու համար, այնուհետև օգտագործում է խողովակաշարի օպերատորը՝ դրանք Remove-Item-ին փոխանցելու համար:

Դե, լավ, ես այն վերագրեցի այս հենակով: Մի դժոխային գործարք. դա ոչինչ չի ջնջում: Ավելին, Get-ChildItem с -Ներառում վերադարձնում է դատարկությունը. Կրկին, անկախ նրանից, թե ինչ եմ արել, անկախ նրանից, թե ինչպես եմ աղավաղել պարամետրերը, այն չի աշխատել: Հիմնական բանը հետ է -Բացառել աշխատում է, բայց հետ -Ներառում ոչ մի դեպքում. Ես մի ամբողջ օր ծախսեցի սրա վրա. անընդհատ մտածում էի, որ ինչ-որ տեղ պարամետրերի մեջ խեղաթյուրել եմ, որ հաշվի չեմ առել ինչ-որ խորամանկ նրբերանգ։ Իսկ ի՞նչ եղավ վերջում։ Ես դրանք տեղադրեցի PS7.1-ի վրա և ստացվեց: Այն նույնիսկ պարունակում է առաջին առանց հենակների տարբերակը՝ օգտագործելով միայն Հեռացնել-Նյութ վաստակած. Ընդհանրապես, պարզվեց, որ դա նրանց բագն է:

Բայց տանջվելով նրանց Mighty Shell-ով, ես գնացի Google՝ կարդալու, թե ինչու է նրանց պատյանն այդքան խելամիտ շարահյուսություն: Անիծյալ, նրանք այն տեղադրում են որպես .NET վահանակի համար, բայց նրանք նույնիսկ չեն հոտում C# շարահյուսությունը: Նրա փոխարեն…

Ինչևէ, ես հանդիպեցի այս հոդվածին.Ինչն եմ ատում PowerShell-ի մասինԻնչպես ասում են. «Ես չէի կարող ավելին համաձայնվել»:

Ես կասկածում եմ, որ Mighty Shell թիմը Բաշի երկրպագուների մի խումբ է:

-Եկեք վերջապես Windows-ի համար կոնսոլ պատրաստենք, որում կարող եք բարդ սկրիպտներ գրել: Թե չէ մեր cmd-ը հնացել է, այնքան, որ արդեն մի քիչ ամաչում ենք։
- Եկեք! Ինչի՞ հիման վրա ենք անելու։ Մենք արդեն ունենք VBScript, JScript: Վերջապես, մենք ունենք լեզուներ .NET-ի համար՝ C#, VB: Միգուցե մենք կարող ենք դա անել C#-ով: Նկատի ունեմ, որ մենք կօգտագործենք C#-ը որպես սկրիպտային լեզու մեր վահանակի համար: Ավելին, մենք ցանկանում ենք այնտեղ ավելացնել .NET դասեր։
-Չէ, ինչ ես անում, այ այ, ի՞նչ C#: Իսկական գիքերը բաշ են օգտագործում: Այսպիսով, եկեք «bash» սարքենք Windows-ի համար: Ինձ չի հետաքրքրում, որ bash-ի շարահյուսությունը, ըստ երևույթին, գրվել է քարկոծված հիփսթերների ամբոխի կողմից դեռևս 1960-ականներին: Ընդհանրապես, որքան բարդ է, այնքան լավ: Ինտուիտիվությունը թույլ մարդկանց համար է: Մեր լեզվով ձեռագիր գրելիս օգտատերը պետք է անիծի աշխարհի ամեն ինչ ու մի երկու նոր հայհոյանքի բառ հորինի։ Միայն այդպիսի լեզուն ունի կյանքի իրավունք։ Տեսեք, Linux-ի մարդիկ ամբողջ կյանքում այսպես են ապրում և անբացատրելի հուզմունք են ստանում այդ ամենից: Ինչո՞ւ ենք մենք ավելի վատ:

Հարցմանը կարող են մասնակցել միայն գրանցված օգտվողները։ Մուտք գործել, խնդրում եմ:

Դուք օգտվու՞մ եք PowerShell-ից և հարմարավետ ե՞ք դրա հետ:

  • 30,3%Չեմ օգտագործում 40

  • 29,6%Ես փորձեցի այն և չհավանեցի այն39

  • 23,5%Ես օգտագործում եմ այն ​​և գոհ եմ ամեն ինչից31

  • 12,9%Ես օգտագործում եմ այն, բայց ես երջանիկ չեմ17

  • 3,8%Ուռա՜ Վերջապես ես կարող եմ օգտագործել իմ սիրելի bash-ը Windows!5-ում

Քվեարկել է 132 օգտատեր։ 26 օգտատեր ձեռնպահ է մնացել։

Source: www.habr.com

Добавить комментарий