மைட்டி ஷெல் வெறுக்கத்தக்க இடுகை

நீண்ட காலத்திற்கு முன்பு நான் ஒரு எளிய ஸ்கிரிப்டை எழுதினேன், அது ஒரு குறிப்பிட்ட கோப்பகத்தில் கொடுக்கப்பட்ட பெயர்களைக் கொண்ட அனைத்து துணை அடைவுகளையும் நீக்கியது:

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

நான் நீண்ட காலமாக இதைப் பயன்படுத்தவில்லை, ஆனால் இப்போது எனக்கு அது தேவைப்பட்டது. நான் அதை தொடங்குகிறேன் - எதுவும் நீக்கப்படவில்லை.

"WTF?", நான் நினைக்கிறேன். தோண்ட ஆரம்பித்தேன். நான் பிடில் மற்றும் ஃபிடில் செய்தேன், எல்லாவற்றையும் கடந்து, முன்கூட்டியே ஒரு பட்டியலை உருவாக்கி, பெயர்களை மாற்றினேன் - இன்னும் எதுவும் நீக்கப்படவில்லை. இறுதியாக, அவர்களின் ஆவணத்தில் நான் படித்தேன்: "உண்மையில், -Recurse உடன் இணைந்து பயன்படுத்தும்போது -Include என்பது தரமற்றது, எனவே ஊன்றுகோல் கட்டமைப்பைப் பயன்படுத்தவும்.":

Remove-Item இல் உள்ள Recurse அளவுருவில் அறியப்பட்ட சிக்கல் இருப்பதால், இந்த எடுத்துக்காட்டில் உள்ள கட்டளை விரும்பிய கோப்புகளைப் பெற Get-ChildItem ஐப் பயன்படுத்துகிறது, பின்னர் அவற்றை அகற்று-பொருளுக்கு அனுப்ப பைப்லைன் ஆபரேட்டரைப் பயன்படுத்துகிறது.

சரி, இந்த ஊன்றுகோலைப் பயன்படுத்தி மீண்டும் எழுதினேன். ஒரு நரக ஒப்பந்தம் - இது எதையும் நீக்காது. மேலும், பெற-ChildItem с -சேர்க்கிறது வெறுமையைத் திருப்பித் தருகிறது. மீண்டும், நான் என்ன செய்தாலும், அளவுருக்களை நான் எப்படி சிதைத்தாலும், அது வேலை செய்யவில்லை. முக்கிய விஷயம் உடன் உள்ளது - விலக்கு வேலை செய்கிறது, ஆனால் உடன் -சேர்க்கிறது வழி இல்லை. நான் இதற்காக ஒரு நாள் முழுவதும் செலவிட்டேன்: எங்கோ அளவுருக்களில் நான் திருகினேன், சில தந்திரமான நுணுக்கங்களை நான் கணக்கில் எடுத்துக்கொள்ளவில்லை என்று நினைத்துக்கொண்டே இருந்தேன். இறுதியில் என்ன நடந்தது? நான் அவற்றை PS7.1 இல் நிறுவினேன், அது வேலை செய்தது. இது முதல் ஊன்றுகோல் இல்லாத விருப்பத்தை மட்டுமே கொண்டுள்ளது அகற்று-உருப்படி சம்பாதித்தார். பொதுவாக, அது அவர்களின் பிழையாக மாறியது.

ஆனால் அவர்களின் மைட்டி ஷெல்லால் பாதிக்கப்பட்டதால், அவர்களின் ஷெல் ஏன் இவ்வளவு மனதைக் கவரும் தொடரியல் கொண்டுள்ளது என்பதைப் படிக்க கூகுளுக்குச் சென்றேன். அடடா, அவர்கள் அதை கன்சோலுக்கான .NET ஆக நிலைநிறுத்துகிறார்கள், ஆனால் அவர்களுக்கு C# தொடரியல் வாசனை கூட தெரியாது. அவருக்கு பதிலாக…

எப்படியிருந்தாலும், நான் இந்த கட்டுரையைப் பார்த்தேன்: "நான் பவர்ஷெல் பற்றி வெறுக்கிறேன்". அவர்கள் சொல்வது போல்: "என்னால் ஒத்துக்கொள்ள முடியவில்லை."

மைட்டி ஷெல் குழு பாஷ் ரசிகர்களின் கூட்டமாக இருப்பதாக நான் சந்தேகிக்கிறேன்.

- இறுதியாக விண்டோஸிற்கான கன்சோலை உருவாக்குவோம், அதில் நீங்கள் சிக்கலான ஸ்கிரிப்ட்களை எழுதலாம். இல்லையெனில், எங்கள் cmd காலாவதியானது, நாம் ஏற்கனவே கொஞ்சம் வெட்கப்படுகிறோம்.
- நாம்! அதன் அடிப்படையில் நாம் என்ன செய்வோம்? எங்களிடம் ஏற்கனவே VBScript, JScript உள்ளது. இறுதியாக, எங்களிடம் .NET: C#, VB மொழிகள் உள்ளன. ஒருவேளை நாம் அதை C# இல் செய்யலாமா? அதாவது, எங்கள் கன்சோலுக்கான ஸ்கிரிப்டிங் மொழியாக C# ஐப் பயன்படுத்துவோம். மேலும், அங்கு .NET வகுப்புகளைச் சேர்க்க விரும்புகிறோம்.
- இல்லை, நீங்கள் என்ன செய்கிறீர்கள், நண்பரே, என்ன சி#? உண்மையான அழகற்றவர்கள் பாஷைப் பயன்படுத்துகிறார்கள்! எனவே விண்டோஸுக்கு பாஷ் செய்வோம். பாஷுக்கான தொடரியல் 1960 களில் கல்லெறிந்த ஹிப்ஸ்டர்களின் கூட்டத்தால் எழுதப்பட்டதாக நான் கவலைப்படவில்லை. பொதுவாக, மிகவும் சிக்கலானது சிறந்தது! உள்ளுணர்வு பலவீனர்களுக்கானது! நம் மொழியில் ஸ்கிரிப்ட் எழுதும்போது, ​​​​பயனர் உலகில் உள்ள அனைத்தையும் சபிக்க வேண்டும் மற்றும் இரண்டு புதிய சாப வார்த்தைகளை கண்டுபிடிக்க வேண்டும். அத்தகைய மொழிக்கு மட்டுமே உயிர் வாழும் உரிமை உண்டு. பாருங்கள், லினக்ஸ் மக்கள் தங்கள் வாழ்நாள் முழுவதும் இப்படித்தான் வாழ்கிறார்கள், எல்லாவற்றிலிருந்தும் விவரிக்க முடியாத சிலிர்ப்பைப் பெறுகிறார்கள். நாம் ஏன் இன்னும் மோசமாக இருக்கிறோம்?

பதிவு செய்த பயனர்கள் மட்டுமே கணக்கெடுப்பில் பங்கேற்க முடியும். உள்நுழையவும், தயவு செய்து.

நீங்கள் PowerShell ஐப் பயன்படுத்துகிறீர்களா மற்றும் உங்களுக்கு வசதியாக இருக்கிறீர்களா?

  • 30,3%நான் 40 ஐ பயன்படுத்துவதில்லை

  • 29,6%நான் முயற்சித்தேன், பிடிக்கவில்லை39

  • 23,5%நான் அதைப் பயன்படுத்துகிறேன், எல்லாவற்றிலும் மகிழ்ச்சியாக இருக்கிறேன்31

  • 12,9%நான் அதைப் பயன்படுத்துகிறேன், ஆனால் நான் மகிழ்ச்சியாக இல்லை17

  • 3,8%ஹூரே! இறுதியாக நான் விண்டோஸ் 5 இல் எனக்கு பிடித்த பாஷைப் பயன்படுத்தலாம்

132 பயனர்கள் வாக்களித்தனர். 26 பயனர்கள் வாக்களிக்கவில்லை.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்