Mighty Shell жек көрүү посту

Узак убакыт мурун мен жөнөкөй скрипт жаздым, ал көрсөтүлгөн каталогдогу аттары бар бардык подкаталогдорду жок кылды:

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

Көптөн бери колдонбогом, бирок азыр керек болуп калды. Мен аны ишке киргизем - эч нерсе жок кылынбайт.

"WTF?", мен ойлойм. Мен казып баштадым. Мен скрипка кылдым, баарын карап чыктым, алдын ала тизме түздүм, атын өзгөрттүм – дагы деле эч нерсе өчүрүлгөн жок. Акыры, алардын документинде мен окудум: "Чындыгында, -Include -Recurse менен бирдикте колдонулганда ката болуп саналат, ошондуктан балдак конструкциясын колдонуңуз.":

Remove-Item ичиндеги Recurse параметринде белгилүү маселе болгондуктан, бул мисалдагы команда керектүү файлдарды алуу үчүн 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%Жашасын! Акырында мен Windows!5те сүйүктүү bash колдоно алам

132 колдонуучу добуш берди. 26 колдонуучу добуш берүүдөн баш тартты.

Source: www.habr.com

Комментарий кошуу