మైటీ షెల్ హేట్ పోస్ట్

చాలా కాలం క్రితం నేను పేర్కొన్న డైరెక్టరీలో ఇచ్చిన పేర్లతో అన్ని సబ్ డైరెక్టరీలను తొలగించే సాధారణ స్క్రిప్ట్‌ను వ్రాసాను:

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

నేను దీన్ని చాలా కాలంగా ఉపయోగించలేదు, కానీ ఇప్పుడు నాకు అది అవసరం. నేను దీన్ని ప్రారంభించాను - ఏదీ తొలగించబడలేదు.

"WTF?", నేను అనుకుంటున్నాను. నేను తవ్వడం ప్రారంభించాను. నేను ఫిడేలు చేసాను మరియు ఫిడిల్ చేసాను, ప్రతిదీ చూసాను, ముందుగానే జాబితాను సృష్టించాను మరియు పేర్లను మార్చాను - ఇప్పటికీ ఏమీ తొలగించబడలేదు. చివరగా, వారి పత్రంలో నేను ఇలా చదివాను: "వాస్తవానికి, -Recurseతో కలిపి ఉపయోగించినప్పుడు -Include బగ్గీగా ఉంటుంది, కాబట్టి క్రచ్ నిర్మాణాన్ని ఉపయోగించండి.":

రిమూవ్-ఐటెమ్‌లోని రికర్స్ పారామీటర్‌కు తెలిసిన సమస్య ఉన్నందున, ఈ ఉదాహరణలోని కమాండ్ కావలసిన ఫైల్‌లను పొందడానికి Get-ChildItemని ఉపయోగిస్తుంది, ఆపై వాటిని తీసివేయి-ఐటెమ్‌కు పంపడానికి పైప్‌లైన్ ఆపరేటర్‌ని ఉపయోగిస్తుంది.

సరే, నేను ఈ ఊతకర్రని ఉపయోగించి దాన్ని తిరిగి వ్రాసాను. వన్ హెల్ ఆఫ్ ఎ డీల్ - ఇది దేనినీ తొలగించదు. అంతేకాకుండా, హార్థిక ChildItem с - చేర్చండి శూన్యతను తిరిగి ఇస్తుంది. మళ్ళీ, నేను ఏమి చేసినా, నేను పారామితులను ఎలా వక్రీకరించినా, అది పని చేయలేదు. ప్రధాన విషయం తో ఉంది - మినహాయించండి పనిచేస్తుంది, కానీ తో - చేర్చండి అవకాశమే లేదు. నేను దీనిపై రోజంతా గడిపాను: పారామితులలో ఎక్కడా నేను చిత్తు చేశానని, నేను కొన్ని గమ్మత్తైన సూక్ష్మభేదాన్ని పరిగణనలోకి తీసుకోలేదని ఆలోచిస్తూనే ఉన్నాను. మరి చివరికి ఏమైంది? నేను వాటిని PS7.1లో ఇన్‌స్టాల్ చేసాను మరియు అది పని చేసింది. ఇది మొదటి క్రచ్‌లెస్ ఎంపికను మాత్రమే ఉపయోగిస్తుంది తీసివేయి-అంశం సంపాదించాడు. సాధారణంగా, ఇది వారి బగ్ అని తేలింది.

కానీ వారి మైటీ షెల్‌తో బాధపడ్డాను, వారి షెల్‌కి ఇంత మైండ్ బ్లోయింగ్ సింటాక్స్ ఎందుకు ఉందో చదవడానికి నేను Googleకి వెళ్లాను. పాపం, వారు దానిని కన్సోల్ కోసం .NETగా ఉంచారు, కానీ వారు C# సింటాక్స్ వాసన కూడా చూడలేరు. అతనికి బదులుగా…

ఏమైనప్పటికీ, నేను ఈ కథనాన్ని చూశాను: "PowerShell గురించి నేను ద్వేషించేది". వారు చెప్పినట్లు: "నేను మరింత అంగీకరించలేను."

మైటీ షెల్ టీమ్ బాష్ అభిమానుల సమూహం అని నేను అనుమానిస్తున్నాను.

- చివరగా Windows కోసం కన్సోల్‌ను తయారు చేద్దాం, దీనిలో మీరు క్లిష్టమైన స్క్రిప్ట్‌లను వ్రాయవచ్చు. లేకపోతే, మా cmd పాతది, కాబట్టి మేము ఇప్పటికే కొద్దిగా సిగ్గుపడుతున్నాము.
- చేద్దాం! దాని ఆధారంగా మనం ఏమి చేస్తాము? మన దగ్గర ఇప్పటికే VBScript, JScript ఉన్నాయి. చివరగా, మనకు .NET: C#, VB కోసం భాషలు ఉన్నాయి. బహుశా మనం దీన్ని C#లో చేయగలమా? నా ఉద్దేశ్యం, మేము మా కన్సోల్ కోసం స్క్రిప్టింగ్ భాషగా C#ని ఉపయోగిస్తాము. అంతేకాకుండా, మేము అక్కడ .NET తరగతులను జోడించాలనుకుంటున్నాము.
- లేదు, మీరు ఏమి చేస్తున్నారు, డ్యూడ్, వాట్ C#? నిజమైన గీక్స్ బాష్‌ని ఉపయోగిస్తాయి! కాబట్టి Windows కోసం బాష్ చేద్దాం. బాష్ కోసం వాక్యనిర్మాణం 1960లలో రాళ్లతో కొట్టబడిన హిప్‌స్టర్‌ల సమూహంచే వ్రాయబడిందని నేను పట్టించుకోను. సాధారణంగా, ఎంత క్లిష్టంగా ఉంటే అంత మంచిది! అంతర్ దృష్టి బలహీనులకు! మన భాషలో లిపిని వ్రాసేటప్పుడు, వినియోగదారు ప్రపంచంలోని ప్రతిదానిని శపించాలి మరియు రెండు కొత్త శాప పదాలను కనిపెట్టాలి. అలాంటి భాషకు మాత్రమే జీవించే హక్కు ఉంటుంది. చూడండి, Linux వ్యక్తులు తమ జీవితమంతా ఇలాగే జీవిస్తారు మరియు దాని నుండి ఒక వివరించలేని థ్రిల్‌ను పొందుతారు. మనం ఎందుకు అధ్వాన్నంగా ఉన్నాం?

నమోదు చేసుకున్న వినియోగదారులు మాత్రమే సర్వేలో పాల్గొనగలరు. సైన్ ఇన్ చేయండిదయచేసి.

మీరు PowerShellని ఉపయోగిస్తున్నారా మరియు మీరు దానితో సౌకర్యవంతంగా ఉన్నారా?

  • 30,3%నేను 40 ఉపయోగించను

  • 29,6%నేను ప్రయత్నించాను మరియు అది నచ్చలేదు39

  • 23,5%నేను దానిని ఉపయోగిస్తాను మరియు ప్రతిదానితో సంతోషంగా ఉన్నాను31

  • 12,9%నేను దానిని ఉపయోగిస్తాను, కానీ నేను సంతోషంగా లేను17

  • 3,8%హుర్రే! చివరగా నేను Windows!5లో నాకు ఇష్టమైన బాష్‌ని ఉపయోగించగలను

132 మంది వినియోగదారులు ఓటు వేశారు. 26 మంది వినియోగదారులు దూరంగా ఉన్నారు.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి