পাওয়ারশেল কি উইন্ডোজে আমার সাইগউইন শেলটি প্রতিস্থাপন করতে প্রস্তুত? [বন্ধ]


384

আমি বিতর্ক করছি যে আমার পাওয়ারশেল শিখতে হবে, বা কেবল সাইগউইন / পার্ল স্ক্রিপ্টস / ইউনিক্স শেল স্ক্রিপ্ট ইত্যাদির সাথে লেগে থাকা উচিত whether

পাওয়ারশেলের সুবিধা হ'ল স্ক্রিপ্টগুলি আরও সহজেই সতীর্থদের দ্বারা ব্যবহার করা যেতে পারে যা সাইগউইন নেই; তবে, আমি জানি না যে আমি সত্যিই অনেকগুলি সাধারণ উদ্দেশ্যে স্ক্রিপ্টগুলি লিখছিলাম, বা যদি লোকেরা সেগুলি ব্যবহার করে।

ইউনিক্স স্ক্রিপ্টিংটি এত শক্তিশালী, পাওয়ারশেল কি স্যুইচিং ওভারেন্টের পক্ষে যথেষ্ট কাছে আসবে?

পাওয়ারশেলের জন্য আমি সুনির্দিষ্ট কিছু নির্দিষ্ট জিনিস (বা সমপরিমাণ) খুঁজছি:

  • , grep
  • সাজান
  • uniq
  • পার্ল (পাওয়ারশেল পার্লের ক্ষমতার কতটা কাছাকাছি আসে?)
  • awk
  • sed
  • ফাইল (কমান্ড যা ফাইল তথ্য দেয়)
  • প্রভৃতি

7
আমি এটি বলব না, আমি পাওয়ারশেল বাছতে আগ্রহী ছিলাম, এই পৃষ্ঠাটি পেয়েছি এবং এখন আমি পিএস এবং শেল স্ক্রিপ্টিংয়ের মধ্যে আমার সাধারণ পার্থক্য জানি যা আমি অভ্যস্ত।
সর্বকালের সেরা

5
এইচএনএন লিঙ্ক জমা দেওয়ার সময় হঠাৎ এই পোস্টটি ছাই থেকে উঠেছিল। মহান কাজ. এটি গঠনমূলক না হিসাবে এটি বন্ধ করার জন্য @ ববির পক্ষে খারাপ।
সিড

26
যদি কেউ জিজ্ঞাসা করতে না পারে যে কীভাবে একটি সরঞ্জাম অন্যটির কার্যকারিতা প্রতিলিপি করে তবে এসও সরঞ্জাম তুলনা প্রশ্নের উত্তর দিতে পারে না। এটি সাবধানতার সাথে বিতর্ক এড়ানোর জন্য বর্ণিত তবে এটি ইউনিক্স বনাম উইন্ডোজ প্রশ্নের মতো দেখার জন্য উদ্বেগজনকভাবে "বিতর্কিত" বলে ধরে নেওয়া হয়েছিল। উইন্ডোজে ইউনিক্স স্ক্রিপ্টিং কীভাবে সহায়ক হতে পারে সে সম্পর্কে অতিরিক্ত তথ্য অন্তর্দৃষ্টি সহ এটি একটি বাস্তব, উদ্দেশ্যমূলক উত্তর পেয়েছে।
চের্নেভিক

16
কেন এই আবার বন্ধ? কেউ দয়া করে "উইন্ডোজ প্ল্যাটফর্মের উপর পাওয়ারশেল বনাম ইউনিক্স শেলস" বলার জন্য শিরোনামটি সম্পাদনা করুন যাতে ট্রলগুলি "উইন্ডোজ বনাম ইউনিক্স" হিসাবে বিবেচনা করা থেকে দূরে সরিয়ে দেয়, যা এটি নয়। এটি একটি নিখুঁত গঠনমূলক প্রশ্ন - পুনরায় খুলতে ভোট দিয়েছেন।
x0n

3
অপশন সরঞ্জামের সাথে শেল মিশ্রিত করছে। পাওয়ারশেলের এর ব্যবহার রয়েছে। তবে জিএনইউ উইন্ডোজ সহ অন্যান্য ওএসে অবাধে ইউনিক্স গিডি আনার একটি প্রকল্প project তালিকার অপারেটিং প্রতিটি জিনিস উইন্ডোতে একটি gnu বাস্তবায়ন আছে। GnuWin32 বা পৃথক সাইট থেকে অ্যাক্সেসযোগ্য। উইন্ডোজ বিএটি অকেজো নয়, এতে পুনর্নির্দেশ এবং পাইপ এবং শর্ত রয়েছে।
MeaCulpa

উত্তর:


783

সরঞ্জামগুলি কেবলমাত্র সরঞ্জাম।
তারা সাহায্য বা তারা না।
আপনার সাহায্য দরকার বা আপনার দরকার নেই।

যদি আপনি জানেন যে ইউনিক্স এবং সেগুলি সরঞ্জামগুলি উইন্ডোতে আপনার যা করা দরকার তা করেন - তবে আপনি একটি সুখী লোক এবং পাওয়ারশেল শেখার কোনও প্রয়োজন নেই (যদি না আপনি অন্বেষণ করতে চান)।

আমার আসল উদ্দেশ্যটি ছিল উইন্ডোজে ইউনিক্স সরঞ্জামগুলির একটি সেট অন্তর্ভুক্ত করা এবং এটি দিয়ে সম্পন্ন করা (দলে আমাদের মধ্যে অনেকেরই ইউনিক্সের গভীর ব্যাকগ্রাউন্ড এবং সেই সম্প্রদায়ের জন্য একটি স্বাস্থ্যকর ডোজ রয়েছে))

আমি যেটা খুঁজে পেয়েছি তা হ'ল এটি সত্যিকারের খুব বেশি সহায়তা করে নি। যে জন্য কারণ হলো awk /, grep / কিন্তু বিরুদ্ধে কাজ করে না এর COM , WMI , ADSI , রেজিস্ট্রি, শংসাপত্রের দোকান, ইত্যাদি, ইত্যাদি

অন্য কথায়, ইউএনআইএক্স হ'ল পাঠ্য ফাইলগুলির আশেপাশে একটি সম্পূর্ণ বাস্তুতন্ত্র। যেমন, পাঠ্য প্রক্রিয়াজাতকরণ সরঞ্জামগুলি কার্যকরভাবে পরিচালনার সরঞ্জাম। উইন্ডোজ হ'ল এপিআই এবং অবজেক্টের চারপাশে সম্পূর্ণ আলাদা ইকোসিস্টেম স্ব-সুরযুক্ত। এজন্য আমরা পাওয়ারশেল আবিষ্কার করেছি।

আমার মনে হয় আপনি যেটি খুঁজে পাবেন তা হ'ল প্রচুর অনুষ্ঠান হবে যখন আপনি উইন্ডোতে যা চান পাঠ্য-প্রক্রিয়াকরণটি আপনাকে পাবেন না। এই মুহুর্তে, আপনি পাওয়ারশেল বাছাই করতে চাইবেন। দ্রষ্টব্য - এটি কোনও কিছু বা কিছুই নয়। পাওয়ারশেলের মধ্যে, আপনি আপনার ইউনিক্স সরঞ্জামগুলিতে কল করতে পারেন (এবং তাদের পাঠ্য প্রক্রিয়া বা পাওয়ারশেলের পাঠ্য প্রক্রিয়াকরণটি ব্যবহার করতে পারেন)। এছাড়াও আপনি আপনার ইউনিক্স সরঞ্জামগুলি থেকে পাওয়ারশেলকে কল করতে পারেন এবং পাঠ্য পেতে পারেন।

আবার - এখানে কোনও ধর্ম নেই - আমাদের ফোকাস আপনাকে সফল হওয়ার জন্য প্রয়োজনীয় সরঞ্জামগুলি দেওয়ার বিষয়ে is এজন্য আমরা মতামত সম্পর্কে এত আগ্রহী। আমাদের চাকরিটি কোথায় নেমে যাচ্ছে বা যেখানে আপনার প্রয়োজনীয় সরঞ্জাম নেই সেগুলি আমাদের জানান এবং আমরা এটি তালিকায় রাখব এবং এটিতে পৌঁছে যাব।

সমস্ত সততার সাথে আমরা 30 বছরের গর্ত থেকে নিজেকে খনন করছি, তাই এটি কিছুটা সময় নিতে চলেছে। এটি বলেছে, আপনি যদি উইন্ডোজ সার্ভার ২০০৮ / আর 2 এবং / অথবা আমাদের সার্ভার পণ্যগুলির বিটা বেছে নেন তবে আমি মনে করি যে গর্তটি কত দ্রুত পূর্ণ হচ্ছে তা দেখে আপনি হতবাক হয়ে যাবেন।

ব্যবহারের ক্ষেত্রে - আমাদের আজ অবধি 3.5 মিলিয়ন ডাউনলোড হয়েছে। এটিতে উইন্ডোজ সার্ভার ২০০৮-এ এটি ব্যবহার করা লোকদের অন্তর্ভুক্ত করা যায় না, কারণ এটি একটি alচ্ছিক উপাদান হিসাবে অন্তর্ভুক্ত করা হয় এবং এটি ডাউনলোডের প্রয়োজন হয় না।

ভি 2 উইন্ডোজ সমস্ত সংস্করণে শিপ করা হবে। এটি সার্ভার কোর ব্যতীত সমস্ত সংস্করণের জন্য অন-ডিফল্ট হবে যেখানে এটি একটি alচ্ছিক উপাদান। উইন্ডোজ 7 / উইন্ডোজ সার্ভার 2008 আর 2 জাহাজের খুব শীঘ্রই, আমরা ভি 2 সমস্ত প্ল্যাটফর্ম, উইন্ডোজ এক্সপি এবং উপরেরগুলিতে উপলব্ধ করব। অন্য কথায় - শেখার ক্ষেত্রে আপনার বিনিয়োগটি প্রচুর পরিমাণে মেশিন / পরিবেশের জন্য প্রযোজ্য।

একটি শেষ মন্তব্য। যদি / আপনি পাওয়ারশেল শিখতে শুরু করেন তবে আমি মনে করি আপনি খুব খুশি হবেন। বেশিরভাগ ডিজাইনটি আমাদের ইউনিক্স ব্যাকগ্রাউন্ড দ্বারা প্রচণ্ডভাবে প্রভাবিত হয়, সুতরাং আমরা একেবারে আলাদা থাকাকালীন, আপনি খুব তাড়াতাড়ি এটি বেছে নেবেন (আপনি ইউনিক্স :-) নয় বলে চেঁচিয়ে উঠার পরে)।

আমরা জানি যে লোকদের শেখার জন্য খুব সীমিত বাজেট রয়েছে - সে কারণেই আমরা ধারাবাহিকতা সম্পর্কে সুপার হার্ড-কোর। আপনি কিছু শিখতে যাচ্ছেন এবং তারপরে আপনি বারবার এটি ব্যবহার করবেন।

পরীক্ষা! উপভোগ করুন! ব্যস্ত!


11
আপনার উত্তরের জন্য ধন্যবাদ. আমি মনে করি আমি এগিয়ে যাব এবং পাওয়ারশেল শিখব। আমি এ পর্যন্ত যা দেখেছি তার থেকে এটি শক্তিশালী দেখাচ্ছে এবং আমি এটি কাজের সাথে আরও দরকারী স্ক্রিপ্ট লিখতে সক্ষম হব।
অ্যান্ডি হোয়াইট

55
@ জেফ্রি: উইন্ডোজের জন্য আরও ভাল টার্মিনালের সুযোগ আছে কি? পাওয়ারশেল একটি শক্তিশালী স্ক্রিপ্টিং ল্যাঙ্গুয়েজ, তবে এটি
সেমিডি.এক্স.কে চালায়

47
এই "গঠনমূলক নয়" প্রশ্নটি ইউনিক্সের সমস্ত বিষয় "আমি পুরোটা দেখেছি তার মধ্যে সেরা অন্তর্দৃষ্টি তৈরি হয়েছে" মন্ত্র এবং উইন্ডোজ আলাদা কেন। হতে পারে স্ট্যাকওভারফ্লো আরও ভাল পরিবেশক হিসাবে আলোচনা আলোচনা না পরিবেশিত হবে ?
চের্নেভিক

12
@ সুমেক - কনেমুকে চেষ্টা করে দেখুন; আমি কয়েক সপ্তাহ ধরে এটি ব্যবহার করছি এবং এটি বেশ মিষ্টি: hanselman.com/blog/…
EZ হার্ট

4
শিরোনাম: পাওয়ারশেল বাইনারি ডেটা পাইপ করা পছন্দ করে না। তাই সাবধান যখন আপনি আপনার বিশ্বাসভাজন ইউনিক্স সরঞ্জাম আহ্বান করছি, শুধু ভালো জিনিস না tar -c . | gzip > package.tar.gz সরাসরি PowerShell মধ্যে, অথবা আপনি ভোগা করব। দেখুন brianreiter.org/2010/01/29/...
Interarticle

123

, grep

Select-Stringসেমিডলেট এবং -matchঅপারেটর রেজিক্সগুলি সহ কাজ করে। এছাড়াও আপনি আরও উন্নত কার্যকারিতার জন্য সরাসরি নেট নেট ব্যবহার করতে পারেন ge

সাজান

Sort-Objectআরও শক্তিশালী (আমি মনে করি * নিক্সের চেয়ে sort)। যথেচ্ছ অভিব্যক্তিগুলিতে মাল্টি-লেভেল বাছাইয়ের অনুমতি দেওয়া হচ্ছে। এখানে পাওয়ারশেলের অন্তর্নিহিত ধরণের রক্ষণাবেক্ষণ সহায়তা করে; উদাহরণস্বরূপ একটি DateTimeসম্পত্তি DateTimeবাছাইযোগ্য বিন্যাসে ফর্ম্যাটিং নিশ্চিত না করে একটি হিসাবে বাছাই করা হবে।

uniq

Select-Object -Unique

পার্ল (পাওয়ারশেল পার্ল সক্ষমতায় কত কাছাকাছি আসে?)

পার্লের ডোমেন নির্দিষ্ট সমর্থন গ্রন্থাগারগুলির প্রস্থের ক্ষেত্রে: কোথাও নিকটবর্তী নয় (এখনও)।

সাধারণ প্রোগ্রামিংয়ের জন্য, পাওয়ারশেল অবশ্যই আরও সংহত এবং ধারাবাহিক এবং প্রসারিত করা সহজ। পাঠ্য মুংয়ের জন্য একটি ব্যবধান পার্লের ..অপারেটরের সমতুল্য কিছু ।

awk

এডাব্লুকে ব্যবহার করার পরে এটি যথেষ্ট দীর্ঘ হয়েছে (অবশ্যই 18 বছর হতে হবে, যেহেতু পরে আমি কেবল পার্ল ব্যবহার করেছি), তাই আসলেই মন্তব্য করতে পারবেন না।

sed

[উপরে দেখুন]

ফাইল (কমান্ড যা ফাইল তথ্য দেয়)

এখানে পাওয়ারশেলের শক্তি এতটা ফাইল সিস্টেম সিস্টেমের সাথে কী করতে পারে তা নয় (এবং এটি এখানে পুরো তথ্য পায়, যথাযথ হিসাবে dirরিটার্ন FileInfoবা FolderInfoবস্তু পায়) এটি পুরো সরবরাহকারীর মডেল।

আপনি রেজিস্ট্রি, শংসাপত্রের স্টোর, এসকিউএল সার্ভার, ইন্টারনেট এক্সপ্লোরারের আরএসএস ক্যাশে ইত্যাদিকে ফাইল সিস্টেমের মতো একই সেমিডলেট দ্বারা চালিত বস্তুর স্থান হিসাবে বিবেচনা করতে পারেন।


পাওয়ারশেল অবশ্যই উইন্ডোজে এগিয়ে যাওয়ার পথ। মাইক্রোসফ্ট এটিকে ভবিষ্যতের গৃহ-গৃহজাত পণ্যের জন্য তাদের প্রয়োজনীয়তার অংশ হিসাবে তৈরি করেছে। তাই এক্সচেঞ্জ সমৃদ্ধ সমর্থন, এসকিউএল সার্ভারে সমর্থন। এটি কেবল প্রসারিত হতে চলেছে।

এর সাম্প্রতিক উদাহরণ টিএফএস পাওয়ারটোস। অনেকগুলি টিএফএস ক্লায়েন্ট অপারেশন প্রতিবার tf.exe শুরু না করেই সম্পন্ন করা হয় (যার জন্য একটি নতুন টিএফএস সার্ভার সংযোগ প্রয়োজন etc.) এবং ডেটা পরবর্তী প্রক্রিয়া করা বিশেষত সহজ। পাশাপাশি টিএফ.সেক্সের টিম এক্সপ্লোরারের মধ্যে প্রকাশিত হওয়ার চেয়ে গোটা টিএফএস ক্লায়েন্ট এপিআই-তে আরও বিস্তৃত অ্যাক্সেসের অনুমতি দেওয়া।


2
বিষয়টি হল যে সরবরাহকারীর মডেলটি কেবল আকর্ষণীয় কারণ ওএস পাঠ্যটিকে তার সর্বজনীন কনফিগার মিডিয়াম হিসাবে ব্যবহার করে না, তাই আপনি এই সরবরাহকারীদের প্রয়োজন। ইউনিক্সের সাথে বেশিরভাগ ভাষায় পিএএম, হোস্ট এবং প্যাকেজগুলির স্পর্শ করার জন্য এপিআই রয়েছে তবে শেষ পর্যন্ত পাঠ্যটি সর্বদা থাকবে।
দাইশিমন

12
পাঠ্য সবসময় সর্বোত্তম বিন্যাস নয় (ডাটাবেস এবং রাস্টার চিত্রগুলির সাথে শুরু করুন)। তবে আমি মনে করি আমরা ওপেন ফর্ম্যাট যুদ্ধের চেয়ে দ্বিমত পোষণ করতে রাজি হতে পারি।
রিচার্ড

5
পাওয়ারশেল .NET ফ্রেমওয়ার্কে যে কোনও অবজেক্ট ব্যবহার করতে পারে, এটি পারেলের ডোমেন ক্ষমতার সাথে মেলে না? এছাড়াও আপনি পুনরায় ব্যবহারের যোগ্যতা চাইলে সি # ইত্যাদি তে সেমিডলেট লিখতে পারেন
ক্রিস এস

পয়েন্ট বাই পয়েন্ট তুলনা। সুন্দর. এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। পাওয়ারশেলের শক্তি এর নেট নেট ফাউন্ডেশনের মধ্যে রয়েছে এবং আপনি নতুন সিএমডলেট লিখে বা ক্লাসের লাইব্রেরি কল করেও সিস্টেমটি কত সহজে প্রসারিত করতে পারেন
Sau001

সেডের একটি সাধারণ ব্যবহার (আমার মনে হয়) হবে: sed 's/pattern/replacement/' fileযা মোটামুটি gc file | %{$_ -replace 'pattern','replacement'}, এবং একইভাবে অবাস্তব জন্য: awk 'BEGIN {} /pat1/ {action1} /pat2/ {action2} END {}' fileমোটামুটি{BEGIN {}; switch -r -c -file file { 'pat1' {action1} 'pat2' {action2}}; END{};}
নাথান চ্যাপেল

56

যার কর্মজীবন ১৯৯ 1997 - ২০১০ সাল থেকে উইন্ডোজ এন্টারপ্রাইজ বিকাশে ফোকাস করেছিল, তার সুস্পষ্ট উত্তরটি আগে দেওয়া সমস্ত ভাল কারণে পাওয়ারশেল হবে (যেমন, এটি মাইক্রোসফ্টের এন্টারপ্রাইজ কৌশলের অংশ; এটি উইন্ডোজ / সিওএম /। নেট সাথে ভালভাবে সংহত করে; এবং ফাইলগুলির পরিবর্তে অবজেক্টগুলি ব্যবহার করে "ধনী" কোডিং মডেল সরবরাহ করা হয়)। সেই কারণে আমি গত দু'বছর ধরে পাওয়ারশেলকে ব্যবহার এবং প্রচার করছি, সেই স্পষ্ট বিশ্বাসের সাথে আমি "বিলের শব্দ" অনুসরণ করছি।

তবে, একজন বাস্তববাদী হিসাবে আমি আর নিশ্চিত নই যে পাওয়ারশেল এত বড় উত্তর। যদিও এটি একটি দুর্দান্ত উইন্ডোজ সরঞ্জাম এবং এটি উইন্ডো কমান্ড লাইন যে historicতিহাসিক গর্তটি পূরণ করার দিকে অনেক প্রয়োজনীয় পদক্ষেপ সরবরাহ করে, আমরা সকলেই গ্রাহক কম্পিউটিং স্লিপে মাইক্রোসফ্টের গ্রিপটি দেখছি বলে মনে হচ্ছে ক্রমবর্ধমান মাইক্রোসফ্ট তার ওএসকে ধরে রাখার জন্য একটি বিশাল লড়াই করেছে ভবিষ্যতের উদ্যোগের জন্য গুরুত্বপূর্ণ।

প্রকৃতপক্ষে, আমি খুঁজে পেয়েছি যে আমার কাজটি ভিন্ন ভিন্ন পরিবেশে ক্রমশ বাড়ছে, আমি এই মুহুর্তে ব্যাশ স্ক্রিপ্টগুলি ব্যবহার করা আরও বেশি দরকারী বলে মনে করি, কারণ তারা কেবল লিনাক্স, সোলারিস এবং ম্যাক ওএস এক্সে কাজ করে না, তবে তারা কাজ করে — উইন্ডোজে সাইগউইনের সহায়তা।

সুতরাং যদি আপনি এই বিশ্বাসটি কিনে থাকেন যে ওএসের ভবিষ্যত একচেটিয়া পরিবর্তের পরিবর্তে পণ্যযুক্ত, তবে এটি চতুর বিকাশ সরঞ্জাম কৌশলটি বেছে নেওয়ার পক্ষে বুদ্ধিমান বলে মনে হয় যা সম্ভাব্য মালিকানাধীন সরঞ্জামগুলি থেকে দূরে রাখে। তবে আপনি যদি দেখেন যে আপনার ভবিষ্যত সবই রেডমন্ডের দ্বারা প্রাধান্য পেয়েছে তবে পাওয়ারশেলের জন্য যান।


1
ইউনিক্স স্ক্রিপ্টগুলি ত্রুটি ছাড়াই সাইগউইন-উইন্ডোজে পুরোপুরি কাজ করে?
পেসারিয়ার

@ পেসারিয়র আমি 12 বছর ধরে সাইগউইন এবং মিনজিডাব্লু ব্যবহার করে আসছি এবং আশ্চর্যজনকভাবে খুব কমই সমস্যা হয়েছিল। গুরুত্বপূর্ণ বিষয়টি হ'ল যদি কিছু কাজ না করে তবে উইন্ডোজ সরঞ্জামগুলিতে বা অন্য কোনও কিছুর পিছনে পড়ে যাওয়া সর্বদা সম্ভব processes প্রক্রিয়াগুলি অন্য কোনও শেল যেভাবে শুরু হয় সেভাবেই শুরু করা যেতে পারে।
এভেজেনি সার্জিভ

4
ঠিক আছে, আপনার উত্তরটি ২০১১ সালের। আজ পাওয়ারশেলটি লিনাক্সটিতেও চলে। এবং - আমার ব্যক্তিগত মতামত - বাশ খুব পুরানো। বাক্য গঠনটি ভয়াবহ এবং আমি বরং ভিন্ন স্ক্রিপ্টিং ভাষা ব্যবহার করব। আজকাল বেশিরভাগ লিনাক্স ডিস্ট্রোজে পাইথন স্ট্যান্ডার্ড হওয়ার সাথে সাথে স্ক্রিপ্টগুলির জন্য ব্যাশ ব্যবহার করার কোনও কারণ আমি দেখতে পাচ্ছি না। ২০১১ সাল থেকে অনেক কিছু ঘটেছে বলে আমি আপনাকে আবার পাওয়ারশেল চেক করার পরামর্শ দিচ্ছি।
Itmuckel


33

স্ক্রিপ্ট অটোমেশনের জন্য আমি কিছুটা পাওয়ারশেল ব্যবহার করেছি। যদিও এটি খুব সুন্দর যে পরিবেশটি ইউনিক্স শেলগুলির চেয়ে অনেক বেশি চিন্তা করা হয়েছিল বলে মনে হয়, বাস্তবে পাঠ্য স্ট্রিমের পরিবর্তে অবজেক্টগুলির ব্যবহার অনেক বেশি ছোঁয়াচে এবং গত ৩০ টি সালে নির্মিত ইউনিক্সের অনেকগুলি সুবিধা বছর এখনও নিখোঁজ।

সাইগউইন এখনও উইন্ডোজ হোস্টগুলির জন্য আমার পছন্দসই স্ক্রিপ্টিং পরিবেশ। এটি অবশ্যই কাজগুলি করার ক্ষেত্রে বিকল্পগুলিকে মারধর করে।


27
অবজেক্ট ব্যবহার করা একটি দৃষ্টান্তের শিফট এবং কিছুটা অভ্যস্ত হয়ে যায়। তবে স্ট্রাকচার্ড ডেটা জড়িত যেখানে প্রতিটি পদক্ষেপে পুরো পুনঃ-পার্সিং এড়িয়ে যায় (যেমন ক্ষেত্রগুলি সীমিত করা হয় তা নিশ্চিত করার প্রয়োজন নেই)।
রিচার্ড

16
@ অ্যান্ডি হোয়াইট @ দাইশিমন, আমি বুঝতে পারি যে পাওয়ারশেলের সাথে শেখার বক্ররেখা কোথায় আছে তবে পাইপিং পাঠ্যের চেয়ে পাইপিং জিনিসগুলি অনেক বেশি নমনীয় হতে পারে। @ রিচার্ড সঠিক। :)
স্টিভেন মুরাউস্কি

18
অটো প্রস্তুতকারকদের 1000++ বছরের বেশি ঘোড়া নিয়ে তর্ক করা খুব কঠিন হয়েছিল। আমি উল্লসিত হওয়ার চেষ্টা করছি না। কেবল উল্লেখ করা যে অতীতের সাফল্য উদ্ভাবনের সম্ভাব্য সুবিধা সরিয়ে দেয় না।
ইবিগ্রিন

12
@ দিশিম্যান - অবজেক্টসের সুবিধা হ'ল আপনি যখন কোনও সম্পত্তি চান তখন আপনি এটি চেয়েছিলেন - আপনাকে পার্স, অনুমান, নিক্ষেপ করতে হবে না। "" যখন বস্তুগুলির সাথে সামঞ্জস্যপূর্ণ পদ্ধতি না থাকে তখন কী হয় "সম্পর্কে আপনার বক্তব্যটি আমি বুঝতে পারি নি - আপনি কি অন্যভাবে বলতে পারেন বা সমস্যার উদাহরণ দিতে পারেন? ধন্যবাদ।
জেফ্রি স্নোভার - এমএসএফটি

13
@ দাইশিমন - আমি বুঝতে পেরেছি। অনুশীলনে লোকেরা এটি একটি সমস্যা নয় বরং একটি বিশাল সুবিধা বলে মনে করেছে। এটি বলেছিল, আমি দেখতে পাচ্ছি যে আপনি যদি বিশেষজ্ঞের পাঠ্য পার্সার হন তবে এটি শেখার জন্য একটি নতুন দক্ষতা হবে এবং এটি প্রথমে অপ্রয়োজনীয় এবং বিশ্রী মনে হতে পারে। আবার - যা কিছু সাহায্য করে তা হ'ল সঠিক সরঞ্জাম।
জেফরি স্নোভার - এমএসএফটি

15

এখানে প্রচুর দুর্দান্ত উত্তর রয়েছে, এবং এখানে আমার নেওয়া। আপনি থাকলে পাওয়ারশেল প্রস্তুত ... উদাহরণস্বরূপ:

গ্রেপ = " সিলেক্ট-স্ট্রিং-প্যাটার্ন "

সাজান = "বাছাই-অবজেক্ট"

uniq = "গেম -ইউনিক "

ফাইল = " আইটেম পান "

ক্যাট = " গেট-কনটেন্ট "

পার্ল / এডাব্লুকে / শেড কমান্ড নয়, তবে ইউটিলিটিগুলির তুলনা করা শক্ত, তবে আপনি পাওয়ারশেলের প্রায় সমস্ত কিছুই করতে পারেন।


2
আপনি কি বিশ্বাস করতে পারেন যে ক্রিপ্টিক চার অক্ষরের আদেশ আমাদের পূর্বপুরুষদের ব্যবহার করতে বাধ্য হয়েছিল?
এভেজেনি সার্জিভ

4
@EvgeniSergeev উপরোক্ত সমস্ত ডিফল্ট দ্বারা উপলব্ধ sls, sort, gu, gi, gc, যথাক্রমে। দীর্ঘ পাঠযোগ্য নাম যা কোনও সিস্টেমে ট্যাব-সম্পূর্ণ এবং সংক্ষিপ্ত টাইপ-সক্ষম নাম। এটি আপনার জন্য ব্যবহারকারী-বান্ধব অগ্রগতি।
টেসেল্ল্যাটিংহেকলার

এর অন্যতম একটি এলিয়াস Get-Contentহ'ল catতাই তার জন্য সাইগউইন / ইউনিক্স এবং পাওয়ারশেলের মধ্যে কোনও পার্থক্য নেই। দুর্ভাগ্যক্রমে, বেশিরভাগ ক্ষেত্রে, মাইক্রোসফ্টের সেমিডলেটগুলির ডকুমেন্টেশনে এলিয়াস সম্পর্কে তথ্য নেই, তবে সমস্ত এলিয়াসের একটি তালিকাGet-Alias পাওয়ারশেল সেশনে ব্যবহার করে আউটপুট হয় । "গেট-ইউনিক" এর জন্য উপনামটি "গু", সুতরাং এটি সাইগউইন / ইউনিক্সের চেয়ে ছোট!
পিটার মর্টেনসেন

13

আমি সম্প্রতি কিছুটা গুরুত্বের সাথে পাওয়ারশেলটিতে ছোঁড়া শুরু করেছি। যদিও বিগত সাত বছর ধরে আমি প্রায় একচেটিয়া উইন্ডোজ ভিত্তিক পরিবেশে কাজ করেছি, আমি ইউনিক্সের পটভূমি থেকে এসেছি এবং নিজেকে উইন্ডোতে আমার ইন্টারঅ্যাকশন অভিজ্ঞতা "ইউনিক্স-ফাই" এর জন্য নিয়মিত চেষ্টা করে দেখছি। কমপক্ষে বলতে হতাশাব্যঞ্জক।

পাওয়ারশেলের সাথে এরকম কোনও কিছুর তুলনা করা কেবলমাত্র ন্যায়সঙ্গত ব্যাশ , tcsh শেল , অথবা zsh মত ইউটিলিটি যেহেতু , grep , sed , awk , এটি , ইত্যাদি হয় না, যথাযথ ভাবে বললে শেল অংশ; তারা সর্বদা যাইহোক, যে কোনও ইউনিক্স পরিবেশের অংশ হবে। তাই বলা হয়, মত একটি PowerShell কমান্ড নির্বাচন-স্ট্রিং অনুরূপ একটি ফাংশন আছে grep এবং হয় PowerShell একটি কোর মডিউল রূপে বান্ডেল ... তাই লাইন একটু ঝাপসা হতে পারে।

আমি মনে করি মূল জিনিসটি সংস্কৃতি , এবং সম্পর্কিত সরঞ্জাম-সেটগুলি তাদের নিজ নিজ সংস্কৃতিকে মূর্ত করবে will

  • ইউনিক্স একটি ফাইল-ভিত্তিক , (সাধারণভাবে, ইউনিকোডবিহীন) পাঠ্য-ভিত্তিক সংস্কৃতি। কনফিগারেশন ফাইলগুলি প্রায় একচেটিয়াভাবে পাঠ্য ফাইল। অন্যদিকে উইন্ডোজ, কনফিগারেশন ফর্ম্যাটগুলির ক্ষেত্রে সর্বদা অনেক বেশি কাঠামোগত ছিল - কনফিগারেশনগুলি সাধারণত মালিকানাধীন ডাটাবেসে রাখা হয় (যেমন উইন্ডোজ রেজিস্ট্রি) যা তাদের পরিচালনার জন্য বিশেষ সরঞ্জাম প্রয়োজন require
  • ইউনিক্স প্রশাসনিক (এবং, বহু বছর ধরে, বিকাশ) ইন্টারফেসটি traditionতিহ্যগতভাবে কমান্ড লাইন এবং ভার্চুয়াল টার্মিনাল হয়েছে। উইন্ডোজ একটি জিইউআই হিসাবে শুরু হয়েছিল এবং প্রশাসনিক কার্যগুলি সম্প্রতি কেবলমাত্র জিইউআই ভিত্তিক হওয়া থেকে সরে যেতে শুরু করেছে । আমরা কমান্ড লাইনের ইউনিক্স অভিজ্ঞতাটি আরও সমৃদ্ধ হতে আশা করতে পারি, পাওয়ারশেলে যে উল্লেখযোগ্য নেতৃত্ব রয়েছে তাতে আরও পরিপক্ক হতে পারে এবং আমার অভিজ্ঞতা এর সাথে মেলে। এটি আমার অভিজ্ঞতাতে:

    • ইউনিক্স প্রশাসনিক অভিজ্ঞতা ন্যূনতম পরিমাণে কী স্ট্রোকগুলিতে জিনিসগুলি সহজ করে তোলার দিকে প্রস্তুত; এটি সম্ভবত ধীর 9600 বাউড ডায়াল-আপ সংযোগের মাধ্যমে কোনও সার্ভার পরিচালনা করার historicalতিহাসিক পরিস্থিতির ফলস্বরূপ। এখন পাওয়ারশেলের এমন উপাধি রয়েছে যা ক্রিয়াপদ- ভার্চ্যুয়ামের পরিবর্তে ভার্জ - নন স্ট্যান্ডার্ডের কাছাকাছি পৌঁছতে অনেক দূর এগিয়ে যায় , কিন্তু সেই উপনামগুলি জানার জন্য কিছুটা ব্যথা হয় (এর চেয়ে ভাল কিছু সম্পর্কে যে কেউ জানেন alias | where {$_.ResolvedCommandName -eq "<command>"}?)।

      ইতিহাসকে হস্তান্তরিত করা যায় এমন সমৃদ্ধ উপায়ের একটি উদাহরণ:

      iptablesকমান্ডগুলি প্রায়শই দীর্ঘায়িত হয় এবং সামান্য পার্থক্যের সাথে তাদের পুনরাবৃত্তি করা ব্যথা হতে পারে যদি এটি বাশের মধ্যে নির্মিত ইতিহাসের ম্যানিপুলেশনের কেবলমাত্র একটি ঝরঝরে বৈশিষ্ট্য না হয় , সুতরাং নিম্নলিখিতগুলির মতো একটি iptables নিয়ম সন্নিবেশ করানো:

      iptables -I camera-1-internet -s 192.168.0.50 -m state --state NEW -j ACCEPT

      অন্য ক্যামেরার জন্য দ্বিতীয়বার (" camera-2"), ইস্যু করার ক্ষেত্রে এটি কেবলমাত্র:

      !!:s/-1-/-2-/:s/50/51

      যার অর্থ "পূর্ববর্তী কমান্ডটি সম্পাদন করুন তবে তার -1-সাথে -2-এবং এর 50সাথে বিকল্প দিন 51

    • ইউনিক্স অভিজ্ঞতা টাচ-টাইপবাদীদের জন্য অনুকূলিত হয়েছে; কেউ "হোম" পজিশন ছাড়াই বেশ কিছু করতে পারে। উদাহরণস্বরূপ, ব্যাশে , ইমাক্স কী বাইন্ডিংগুলি ব্যবহার করে (হ্যাঁ, বাশও সমর্থন করে ষষ্ঠ বাইন্ডিং), ইতিহাস মাধ্যমে সাইকেল ব্যবহার করা যাবে Ctrl-Pএবং Ctrl-Nযখন সম্পন্ন করা হয় শুরু করুন এবং লাইনের শেষে চলন্ত ব্যবহার Ctrl-Aএবং Ctrl-Eযথাক্রমে ... এবং এটা স্পষ্টভাবে সেখানে শেষ হয় না। বাড়ির অবস্থান থেকে সরে না গিয়ে পাওয়ারশেল কনসোলে এমনকি সহজতম নেভিগেশন চেষ্টা করুন এবং আপনি সমস্যায় পড়েছেন।

    • ইউনিক্সে বহুমুখী পেজিংয়ের মতো সহজ জিনিস (একটি কম কম ) পাওয়ারশেলের বাইরের অফ বাক্সটি উপলব্ধ বলে মনে হচ্ছে যা কিছুটা হতাশার মতো নয়, এবং একটি সমৃদ্ধ সম্পাদকের অভিজ্ঞতাও নেই। অবশ্যই, কেউ সর্বদা তৃতীয় পক্ষের সরঞ্জামগুলি ডাউনলোড করতে পারে যা এই শূন্যস্থানগুলি পূরণ করবে, তবে এটি নিশ্চিত যে যদি এই বিষয়গুলি "সেখানে" থাকত তবে তারা ইউনিক্সের যে কোনও স্বাদে পছন্দ করত।
  • কমপক্ষে সিস্টেম এপিআই এর ক্ষেত্রে উইন্ডোজ সংস্কৃতি মূলত সহায়ক কাঠামো, যেমন, সিওএম এবং। নেট দ্বারা পরিচালিত , উভয়ই অত্যন্ত কাঠামোগত এবং অবজেক্ট ভিত্তিক। অন্যদিকে, ইউনিক্স এপিআইগুলিতে অ্যাক্সেস traditionতিহ্যগতভাবে একটি ফাইল ইন্টারফেস ( /devএবং /proc) বা (অ-অবজেক্ট-ভিত্তিক) সি-স্টাইলের লাইব্রেরি কলগুলির মধ্য দিয়ে চলেছে । স্ক্রিপ্টিং অভিজ্ঞতাগুলি তাদের নিজ নিজ ওএস প্যারাডিমগুলির সাথে মিলে যায় এতে অবাক হওয়ার কিছু নেই। পাওয়ারশেল প্রকৃতির কাঠামোগত (সবকিছুই একটি বস্তু) এবং বাশ -এবং-বন্ধুদের ফাইল-ভিত্তিক। স্ট্রাকচার্ড এপিআই যা পাওয়ারশেল প্রোগ্রামারের বিস্তারে রয়েছে তা বিশাল (মূলত স্ট্যান্ডার্ড সিওএম এবং। নেট ইন্টারফেসের বিদ্যমান সেটটির বিশালতার সাথে মিলে যায় )।

সংক্ষেপে, যদিও পাওয়ারশেলের স্ক্রিপ্টিং ক্ষমতা বাশের চেয়ে তর্কযোগ্যভাবে আরও শক্তিশালী (বিশেষত যখন আপনি। নেট বিসিএলের উপস্থিতি বিবেচনা করেন ) তবে ইন্টারেক্টিভ অভিজ্ঞতাটি উল্লেখযোগ্যভাবে দুর্বল, বিশেষত যদি আপনি সম্পূর্ণ কীবোর্ড-চালিত থেকে এসে থাকেন , কনসোল-ভিত্তিক দৃষ্টিভঙ্গি (যতগুলি ইউনিক্স-হেড হয়)।


আপনি "যে কারও চেয়ে ভাল কিছু সম্পর্কে জানতে চাইতে পারেন: ওরফে | যেখানে {$ _। সমাধান করা কম্যান্ডনাম -ইক" <কম্যান্ড> "}?"। কীভাবে ঠিক alias -Definition *property(বা অন্য কোনও ধরণ) সম্পর্কে? আমি মনে করি আপনার উত্তরটিতে সমস্যাটি হ'ল আপনি শেল এবং কনসোলকে বিভ্রান্ত করছেন: মনে রাখবেন যে আপনার বিভিন্ন সম্পাদনা বিকল্পের সাথে কনসোলের পছন্দ রয়েছে। তারা ইএসএসের মতো অন্যান্য কনসোল ব্যবহার করতে জনগণকে উত্সাহিত করার জন্য ইচ্ছাকৃতভাবে ডস কনসোল সম্পাদনাটি ভেঙে ফেলেছে।
ডানকান

বিটিডাব্লু, আপনার !!উদাহরণটি পাওয়ারশেল হিসাবে লেখা যেতে পারে (h -c 1) -replace '-1-','-2-' -replace '50','51' | iexতবে তীর আপ করা এবং একক কমান্ডের জন্য সম্পাদনা করা আরও সহজ। আপনি যদি এটি প্রচুর কমান্ড জুড়ে করতে চান তবে আমার মনে হয় পাওয়ারশেল জিতবে। আপনার সম্পাদনাগুলি দিয়ে কমান্ড # 255 এ শেষ হওয়া 10 টি কমান্ডের পুনরাবৃত্তি করতে: (h -c 10 -id 255) -replace '-1-','-2-' -replace '50','51' | iexএছাড়াও পাওয়ারশেলের ইতিহাস আপনাকে লিনাক্স শেলগুলিতে শোনেনি এমন কিছু করতে দেয়; আপনি যদি আশ্চর্যরূপে আশ্চর্য হন যে কমান্ডটি চালাতে কতক্ষণ সময় লেগেছে:h -id 20 | select { $_.EndExecutionTime - $_.StartExecutionTime }
ডানকান

@ ডানকান আপনার মন্তব্যের বিষয়ে শেল এবং কনসোলটির বিষয়ে - আমি মনে করি যে এটি বাশ এবং পিএসের মধ্যে কেবল একটি মৌলিক পার্থক্য; তা হ'ল: বাশ একটি নির্দিষ্ট ইন্টারেক্টিভ অভিজ্ঞতা সরবরাহ করার প্রত্যাশা করে যেখানে পিএস "অন্য কিছু" ছেড়ে যায়। আইএসই কনসোলটির সাথে আমার প্রচুর অভিজ্ঞতা নেই তবে আমি মনে রাখতে পারি, এটির সাথে প্রচুর পরিমাণে সমৃদ্ধ ইন্টারেক্টিভ অভিজ্ঞতাও নেই।
এরিক স্মিথ

@ ডানকান, হ্যাঁ - চতুর ইতিহাসের কৌশলগুলির বিষয়ে পিএসের ক্ষমতা প্রদানের পক্ষে ভাল বিষয়।
এরিক স্মিথ

@ ডানকান ... তবে আপনার এই দাবি সত্ত্বেও যে লিনাক্স শেলগুলিতে কিছু জিনিস শোনা যায় না:fc -e "sed -i -e 's/-1-/-2-/g' -e 's/50/51/g'" 10 255
এরিক স্মিথ

8

আমি কোনও উপায়েই খুব অভিজ্ঞ পাওয়ারশেল ব্যবহারকারী নই, তবে এর সামান্যই যে আমাকে প্রভাবিত করেছিল। ইউনিক্স প্রম্পটে আপনি যা কিছু করতে পারেন তার জন্য আপনি বিল্ট-ইন সেমিডলেটগুলি একসাথে চেইন করতে পারেন, এবং সিএসভি, এইচটিএমএল টেবিলগুলিতে রফতানি করার মতো আরও কিছু কাজ করার জন্য আরও কিছু ধার্মিকতা রয়েছে এবং সিস্টেমের প্রশাসনের আরও ধরণের কাজের জন্য ।

এবং যদি আপনি সত্যিই কিছু প্রয়োজন মত sed , সবসময় এর UnixUtils বা GnuWin32 , যা আপনি PowerShell সঙ্গে মোটামুটি সহজে সংহত পারে।

দীর্ঘকালীন ইউনিক্স ব্যবহারকারী হিসাবে, কমান্ড নামকরণের স্কিমটি ব্যবহার করতে গিয়ে আমার কিছুটা সমস্যা হয়েছিল এবং আমি আরও বেশি জানতে পারলে অবশ্যই এটি থেকে আরও বেশি উপকৃত হতাম। নেট।

তাই মূলত, আমি বলি এটির উইন্ডোজ-কেবলমাত্র নেস যদি সমস্যা না করে তবে এটি এটি শেখা ভাল।


1
একটি ওপেন সোর্স প্রকল্প "পাশ" রয়েছে যা আপনাকে মনোোর মাধ্যমে অন্য প্ল্যাটফর্মে পাওয়ারশেল চালাতে দেয়। tinyurl.com/6dyoso
জন ডি কুক

ওহো! ভকভগক; আমি একবার চেষ্টা করে দেখার অপেক্ষা করতে পারি না
yalestar

6

আপনি যদি শেল স্ক্রিপ্টিং পছন্দ করেন তবে আপনি পাওয়ারশেলকে পছন্দ করবেন!

মাইক্রোসফ্ট কমান্ড শেল (আরস টেকনিকা) এর গাইড গাইড সফর শুরু করুন ।


8
আমি শেল স্ক্রিপ্টিং পছন্দ করি এবং আমি পাওয়ারশেল সহ্য করি । এটির আদেশগুলি এবং বাক্য গঠনটি নৃশংস। কোনও কার্যকর কমান্ডের সমাপ্তি ছাড়াই মারাত্মকভাবে দীর্ঘ কমান্ড এবং বিকল্পগুলি। বা যদি সেখানে থাকে তবে আমি এটি পাইনি। অনেকগুলি বৈশিষ্ট্য সিঙ্গল কমান্ডগুলিতে ক্র্যামড হয়েছে যা আলাদা করা উচিত। অদ্ভুত ভেরিয়েবল এবং এস্কেপ সিনট্যাক্স কেবলমাত্র একটি ডস ব্যাচের প্রোগ্রামার পছন্দ করতে পারে।
ঝ্যান লিংস

8
@ জ্যান লিঙ্কস - জিনিসপত্র না পাওয়া সম্পর্কে আপনি ঠিক বলেছেন। সমস্ত কমান্ডের উপাধি রয়েছে এবং তাদের অনেকগুলিই ডস এবং ইউএনআইএক্স উভয় আদেশের সাথে মিলে যায় (পিএস, দির, আরএম, এলএস, কিল, ইতিহাস, মানুষ, বিড়াল, পরিষ্কার ইত্যাদি) নামগুলি এত দীর্ঘ যাতে তাদের অর্থপূর্ণ নাম থাকে। স্ক্রিপ্টগুলির জন্য দুর্দান্ত - এটি যখন কোনও নতুন ব্যক্তিকে ব্যবহার করতে এবং বজায় রাখতে হয় তখন এটি সহায়তা করে। সেমিডলেটস, ফাংশন, ভেরিয়েবল, পাথ, প্যারামিটার ইত্যাদির জন্য ট্যাব সম্প্রসারণ রয়েছে অনেকটা সিনট্যাক্স ইউনিক্স শেল থেকে হয় এবং আপনি কী অব্যাহতি বাক্য গঠন বলছেন? উইন্ডোতে পাথ বিভাজক হওয়ায় escape escape পালানোর জন্য ব্যবহৃত হয় না।
manojlds

3
@ জ্যান লিঙ্কস - আপনার যুক্তি বৈধ নয়। ভেরিয়েবলের ব্যাখ্যা বন্ধ করতে, '(একক উদ্ধৃতি) ব্যবহার করুন । ডাবল ডাবল উদ্ধৃতি জিনিস - একই, ব্যবহার write-output 'this is a "test"'। আপনি যে প্রশ্নটির দিকে ইঙ্গিত দিচ্ছেন তা রেজেক্সের জন্য এবং রেজেক্সের জন্য পলায়ন সর্বত্র বৈধ। পাওয়ারশেলের হিয়ার-স্ট্রিংস / ভারব্যাটিম স্ট্রিংও রয়েছে। এমনকি জাভা এগুলি নেই! জাভাতে রেগেক্স পালানোর চেষ্টা করুন। এবং আপনি কখনও কখনও আক্ষরিকপথ ব্যবহার করবেন না। আপনার যখন প্রয়োজন হবে তখন ব্যবহার করুন। লিটারালপ্যাথ ওয়াইল্ডকার্ড অক্ষরগুলিকে ভারব্যাটিম ব্যবহার করে এবং সেগুলি প্রসারিত করে না। আপনার ফাইলগুলি থাকা অবস্থায় আপনি এটি ব্যবহার করুন। এটি আপনাকে আরও বিকল্প দেয়।
manojlds

3
@ মানোজাল্ডস: ব্যাশ শেলের তুলনায় পাওয়ারশেল এমন অসঙ্গতিতে পূর্ণ যেগুলি কোনও অর্থই দেয় না এবং কেবল বিভ্রান্তিকর। ব্যাশে আপনি সর্বত্র একই পালাবার চরিত্রটি ব্যবহার করেন এবং স্ট্রিংগুলির মতো ফাইল পাথগুলি পালিয়ে যায়। এটির জন্য আপনার বিশেষ প্যারামিটারের দরকার নেই। আপনি যদি এমন কোনও ভেরিয়েবল প্রসারিত করেন যার মধ্যে বিশেষ অক্ষর রয়েছে তবে আপনি এটিকে ডাবল উদ্ধৃতিতে রেখেছেন এবং বিষয়বস্তুগুলি নিরাপদ, এটিকে পুনরায় পালাতে কোনও ফাংশন কল করার দরকার নেই।
ঝ্যান লিংস

5
@ জ্যান লিঙ্কস - কোনও অসঙ্গতি নেই। এমনকি write-output "this is a `"test`""কাজ করে। কেবল ``\` এর পরিবর্তে ব্যবহার করুন ` regex :: পলায়নের উপস্থিতি আপনাকে সহায়তা করতে পারে যাতে আপনি পালানোর জিনিসগুলি মিস না করেন। এটি ব্যবহার করার প্রয়োজন নেই। আপনি ভাবছেন যে অতিরিক্ত বিকল্পগুলি যা আপনাকে সহায়তা করতে এবং ভুলগুলি প্রতিরোধ করতে পারে সেগুলি হ'ল অসঙ্গতি।
মনোজল্ডস

6

আমার সাম্প্রতিক পরীক্ষাগুলি আমাকে পাওয়ারশেল এবং। নেট কলগুলির গভীরতায় নিয়ে গেছে, তাই আমাকে অবশ্যই বলতে হবে যে পাওয়ারশেল পারে সাইগউইন এবং ইউনিক্স শেলটি প্রতিস্থাপন ।

আমি পার্ল সম্পর্কে নিশ্চিত নই, তবে যেহেতু পাওয়ারশেল এবং পার্ল উভয়ই ট্যুরিং প্রোগ্রামিং ভাষা হিসাবে সম্পূর্ণ, তাই পার্লকে প্রতিস্থাপনের ক্ষেত্রে আমি এটি হ্যাঁ হিসাবে দিয়েছি।

পাওয়ারশেলের একটি জিনিস সাইগউইন এবং সাধারণ বাশকে * নিক্সের অধীনে রয়েছে, এটি হ'ল সরাসরি এপিআই কল, ডাব্লুএমআই পদ্ধতি এবং এমনকি সিওএম অবজেক্টের মাধ্যমে অপারেটিং সিস্টেমটি পরিচালনা করে স্যান্ডবক্সযুক্ত ডিএলএল কলগুলি সম্পাদন করার ক্ষমতা। কোডের মাধ্যমে ইন্টারনেট এক্সপ্লোরার চালু করার বিষয়ে, তারপথিত ডকুমেন্টটি দিয়ে আপনি যা চান তা কার্যকরভাবে কার্যকরভাবে কোনও ওয়েব সার্ভারের জন্য ব্যাক-এন্ড অনুকরণ করে?

এসকিউএল সার্ভার এবং অন্যান্য ডেটা সরবরাহকারীদের কাছ থেকে ডেটা সংগ্রহ করার বিষয়ে, তাদের পার্স করে সিএসভি, মেল বার্তা, পাঠ্য এবং আসলে কোনও ধরণের বিদ্যমান এবং অ-বিদ্যমান ফাইল ফর্ম্যাট হিসাবে রফতানি করা যায়? (প্রাপ্ত তথ্যগুলির বাইরে একটি বৈধ ফাইল তৈরি করার উপযুক্ত দক্ষতার সাথে অবশ্যই, তবে সিএসভি সহজেই উপলব্ধ।

এবং স্বাক্ষরিত সিএমডিলেট এবং স্ক্রিপ্টস, গোষ্ঠী নীতিগুলি এবং সম্পাদন নীতিগুলির মাধ্যমে একটি অতিরিক্ত সুরক্ষা পাওয়া যায় যা প্রশাসক হিসাবে চালানো হলেও আপনার সিস্টেমে দূষিত কোডটি রোধ করতে সহায়তা করে।

কমান্ডগুলি কীভাবে প্রয়োগ করা হয় সে সম্পর্কে - রিচার্ডের উত্তরগুলি তাদের এবং পাওয়ারশেলের ইতিমধ্যে তাদের কার্যকারিতা অনুকরণ করার ক্ষমতা তালিকাভুক্ত করে।

পাওয়ারশেল স্যুইচিং ওভারেন্টের পক্ষে শক্তিশালী কিনা তা সম্পর্কে - এটি ব্যক্তিগত পছন্দের বিষয়, যদিও আরও বেশি বেশি উইন্ডোজ পরিষেবাদি তাদের নিয়ন্ত্রণের জন্য পাওয়ারশেল সেমিডলেট সরবরাহ করছে, এই পরিষেবাদিগুলির সাথে পাওয়ারশেল ব্যবহার না করা একটি বাধা হিসাবে বিবেচিত হয়। (হাইপার-ভি সার্ভার হ'ল প্রাথমিক এই পরিষেবাটি, এবং এটি জিইআইয়ের চেয়ে পাওয়ারশেল সেমিডলেটগুলির সাথে আরও বেশি করার ক্ষমতা সরবরাহ করে!)

সম্ভবত এই উত্তরটি পাঁচ বছর দেরীতে, তবে এখনও, কেউ যদি উইন্ডোজ প্রশাসনিক কাজগুলি বা বিভিন্ন স্টাফের সাধারণ স্ক্রিপ্টিং সম্পাদন করেন তবে তাদের উদ্দেশ্যগুলির জন্য অবশ্যই পাওয়ারশেলকে ব্যবহার করার চেষ্টা করা উচিত।


6

আপনি যখন পাওয়ারশেলকে সাইগউইন / পার্ল / শেল সংমিশ্রণের সাথে তুলনা করেন, তখন সচেতন হন যে পাওয়ারশেল কেবল সেই সংমিশ্রণের "শেল" অংশটি উপস্থাপন করে।

আপনি যদিও সেমিডি.এক্সএইচ বা সিগউইন থেকে পাওয়ারশেল থেকে যে কোনও কমান্ড চাইতে পারেন। এটা না নির্দিষ্ট ফাংশনগুলি পুনরায় প্রয়োগ এবং এটি অবশ্যই পার্লের সাথে তুলনীয় নয়।

এটি "স্রেফ" একটি শেল, তবে এটি প্রোগ্রামিংকে NET মহাবিশ্বকে একটি আরামদায়ক ইন্টারফেস সরবরাহ সহজ করে তোলে।

এও মনে রাখবেন যে পাওয়ারশেলের জন্য উইন্ডোজ এক্সপি, উইন্ডোজ সার্ভার 2003 বা ততোধিক প্রয়োজন, যা আপনার আইটি অবকাঠামোর উপর নির্ভর করে সমস্যা হতে পারে।

হালনাগাদ:

আমার উত্তরটি কী ধরণের দার্শনিক বিতর্ক ছড়াবে তা আমার ধারণা ছিল না।

আমি প্রশ্নের প্রসঙ্গে আমার উত্তর পোস্ট করেছি: পাওয়ারশেলের সাথে সাইগউইন এবং পার্ল এবং বাশের সাথে তুলনা করুন।

পাওয়ারশেল হ'ল একটি শেল, কারণ এটি বিল্ট-ইন কমান্ড, কমান্ডলেটস, ব্যবহারকারী ফাংশন এবং বাহ্যিক কমান্ডের (.exe, .bat, .cmd) মধ্যে সিনট্যাক্টিক পার্থক্য করে না। কেবলমাত্র অনুরোধ করা .NET পদ্ধতি কলগুলিতে একটি নেমস্পেস বা একটি অবজেক্ট যুক্ত করে পৃথক হয়।

এর প্রোগ্রামযোগ্যতা পাওয়ারশেল "ভাষা" এর নির্দিষ্ট কোনও থেকে নয়। নেট ফ্রেমওয়ার্ক থেকে উদ্ভূত।

আমি বলব যে আমি বিশ্বাস করি যে পাওয়ারশেলটি "স্ক্রিপ্টিং ভাষা" বগজিলা বা মিডিয়াউইকের সাথে সাথেই ওয়েব সার্ভারে পাওয়ারশেল স্ক্রিপ্টগুলি চালিত পাওয়ার শেল স্ক্রিপ্ট প্রয়োগ করার সাথে সাথে পাওয়ারশেল ;)

ততক্ষণ, তুলনাগুলি উপভোগ করুন ।


হ্যাঁ, আমি অনুমান করি যখন আমি ইউনিক্স "শেল" এর কথা বলছি তখন আমি ইউনিক্সের সাথে আসা সমস্ত সাধারণ ইউটিলিটিগুলি যেমন গ্রেপ, অ্যাজক ইত্যাদি উল্লেখ করছি আমিও ভাবছি পাওয়ারশেল যদি একই রকম ইউটিলিটি অফার অফ করে দেয় তবে -বক্স.
অ্যান্ডি হোয়াইট

3
পাওয়ারশেল "কেবল একটি শেল" নয়। এটি একটি স্ক্রিপ্টিং ভাষা। আমি ভাবছি কীভাবে পার্লের সাথে এটি তুলনাযোগ্য নয়? আমি স্বীকার করি যে এটি পরিপক্ক নয়, তবে এর বাইরে আমি বৈষম্য দেখছি না।
ইবিগ্রিন

@ ইবিগ্রিন, এই মন্তব্যটির সাথে আপনার সঠিক অর্থ কী? আমি সম্মত হই যে যে কোনও শেল বা স্ক্রিপ্টিং ভাষা অন্তর্নিহিত অনুরূপ তবে আমি পাওয়ারশেল বনাম বাশ / পারল / অন্যান্য ইউনিক্স শেল / স্ক্রিপ্টিং ভাষার নির্দিষ্ট ক্ষমতা সম্পর্কে আরও ভাবছিলাম।
অ্যান্ডি হোয়াইট

2
পাওয়ারশেলের একটি অবিশ্বাস্যরূপে বিস্তৃত ফাংশন রয়েছে। এটি হ'ল - একটি ইন্টারেক্টিভ, কমপোজেবল শেল - একটি সমৃদ্ধ ইন্টারেক্টিভ স্ক্রিপ্টিং ভাষা - একটি প্রোগ্রামিং ল্যাঙ্গুয়েজে এটির ওও এবং টেস্টেক্সট ইউটিলিটি ফাংশনগুলির সমৃদ্ধ সেট রয়েছে (যেমন গ্রেপ / অ্যাডক / ইত্যাদি সমান)।
জেফ্রি স্নোভার - এমএসএফটি

1
@ অ্যান্ডি - আমি ডিভিওকে বুঝতে পেরেছি যে পাওয়ারশেল পার্লের মতো শক্তিশালী নয়। আমি এটি সত্য বলে বিশ্বাস করি না এবং আমি কেন ভেবেছিলাম যে তিনি কেন এমনটি ঘটলেন।
ইবিগ্রিন

4

পাওয়ারশেলের সেন্টিমিলেটগুলি খুব সুন্দর এবং নির্ভরযোগ্যতার সাথে কাজ করে। আমি জাভা / সি # বিকাশকারী যেহেতু তাদের অবজেক্ট-ওরিয়েন্টডনেসটি আমাকে অনেক আবেদন করে, তবে এটি কোনও সম্পূর্ণ সেট নয়। যেহেতু এটি অবজেক্ট অরিয়েন্টেড, এটি পসিক্স সরঞ্জাম সেটটির অনেকগুলি পাঠ্য প্রবাহ পরিপক্কতা থেকে বাদ পড়েছে ( awkএবংsed কয়েকজনের নাম উল্লেখ করার জন্য) হারিয়ে গেছে।

পসিক্স সরঞ্জামগুলিতে ওও কৌশলগুলি ভালবাসার এবং পরিপক্কতার সাথে প্রেম করার দুশ্চিন্তার সবচেয়ে ভাল উত্তরটি হ'ল উভয়ই ব্যবহার করা! পাওয়ারশেলের একটি দুর্দান্ত দিক হ'ল এটি স্ট্যান্ডার্ড স্ট্রিমগুলিতে পাইপিংয়ের একটি দুর্দান্ত কাজ করে excellent পাওয়ারশেল ডিফল্টরূপে এর অবজেক্টগুলির চারপাশে পরিবহনের জন্য একটি অবজেক্ট পাইপলাইন ব্যবহার করে। এগুলি স্ট্যান্ডার্ড স্ট্রিমগুলি নয় (স্ট্যান্ডার্ড আউট, স্ট্যান্ডার্ড ত্রুটি এবং স্ট্যান্ডার্ড ইন)। পাওয়ারশেলের যখন আউটপুট পাইপলাইন নেই এমন একটি স্ট্যান্ডার্ড প্রক্রিয়াতে আউটপুট পাস করার দরকার হয়, এটি প্রথমে বস্তুগুলিকে একটি পাঠ্য প্রবাহে রূপান্তর করে। যেহেতু এটি এটি এত ভাল করে, পাওয়ারসেল পসিক্স সরঞ্জামগুলি হোস্ট করার জন্য একটি দুর্দান্ত জায়গা তৈরি করে!

সেরা POSIX সরঞ্জাম সেটটি GnuWin32 । এটি ইনস্টল করতে 5 সেকেন্ডের বেশি সময় নেয় না, তবে এটি সমস্যার জন্য মূল্যবান এবং যতদূর আমি বলতে পারি এটি আপনার সিস্টেমে কোনও পরিবর্তন করে না (রেজিস্ট্রি,c:\windows\* ফোল্ডার, ইত্যাদি) আপনার নির্দিষ্ট ডিরেক্টরিগুলিতে ফাইল অনুলিপি ব্যতীত । এটি অতিরিক্ত দুর্দান্ত কারণ আপনি যদি একটি ভাগ করা ডিরেক্টরিতে সরঞ্জামগুলি রাখেন তবে অনেক লোক একই সাথে অ্যাক্সেস করতে পারে।

GnuWin32 ইনস্টলেশন নির্দেশাবলী

এক্সকে ডাউনলোড করুন এবং কার্যকর করুন (এটি উত্সফোর্স সাইট থেকে ) এটি একটি উপযুক্ত ডিরেক্টরিতে নির্দেশ করে (আমি ব্যবহার করব C:\bin)। এটি GetGnuWin32সেখানে একটি ডিরেক্টরি তৈরি করবে যেখানে আপনি চালাবেন download.bat, তারপরে install.bat(পরামিতি ছাড়াই), এর পরে, এমন একটি C:\bin\GetGnuWin32\gnuwin32\binডিরেক্টরি থাকবে যা উইন্ডোজ মেশিনে এখন পর্যন্ত সবচেয়ে কার্যকর ফোল্ডার ex আপনার ডিরেক্টরিতে ডিরেক্টরিটি যুক্ত করুন এবং আপনি যেতে প্রস্তুত।


4

TL; DR - আমি উইন্ডোজ বা পাওয়ারশেলকে ঘৃণা করি না। আমি উইন্ডোজ বা পাওয়ারশেলের কিছুই করতে পারি না ।


আমি ব্যক্তিগতভাবে এখনও পাওয়ারশেলকে সর্বোত্তমভাবে আন্ডারহেলমিং খুঁজে পাই।

  • ডিরেক্টরি পাথগুলির ট্যাব সমাপ্তিটি যৌগিক হয় না, প্রতিটি নাম সমাপ্তির পরে ব্যবহারকারীকে পাথ বিভাজক প্রবেশ করা প্রয়োজন।
  • আমি এখনও মনে করি যে উইন্ডোজ এমনকি কোনও পাথ বা কোনও পথটি সম্পর্কে ধারণাও রাখে না, অ্যাক্সেসযোগ্য ব্যবহারকারীর হোম ইন্ডিকেটরটির ~/সংক্ষিপ্ত কিছু নেই with@environment://somejibberish/%user_home%
  • এনটিএফএস এখনও একটি জগাখিচুড়ি এবং আপাতদৃষ্টিতে সবসময় থাকবে। সৌভাগ্য নেভিগেট।

  • সেমিডিএস-এস্কি ইন্টারফেস, ডাইনোসর সেন্টিমিডি.এক্সপি পাওয়ারশেল, এডিট → এ এখনও দৃশ্যমান, এখনও তথ্য অনুলিপি করার একমাত্র উপায় হিসাবে চিহ্নিত করা যায় এবং দৃশ্যমান টার্মিনাল স্পেসের কেবল আয়তক্ষেত্রাকার ব্লক আকারে অনুলিপি করা হয়। এবং সম্পাদনা করুন → টার্মিনালে স্ট্রিংগুলি পেষ্ট করার একমাত্র উপায় হিসাবে চিহ্নিত করুন

  • এটিকে নীল রঙ করা এটিকে আর আকর্ষণীয় করে তোলে না। মাইক্রোসফ্ট বিকাশকারীদের যদিও রঙের স্বাদ আছে তাতে আমি আপত্তি করি না।

  • উইন্ডোজ সর্বদা পর্দার উপরের বাম কোণে খোলে। যে কারও জন্য উল্লম্ব টাস্ক বারগুলি ব্যবহার করে এটি অবিশ্বাস্যরূপে বিরক্তিকর, বিশেষত বিবেচনা করে যে উইন্ডোজ টাস্ক বারটি উইন্ডোটির একমাত্র কোণটি কভার / পেস্ট কার্যকারিতা অ্যাক্সেস দেয় coverেকে রাখবে।

উইন্ডোজ অন্তর্ভুক্ত থাকা সরঞ্জামগুলির ভিত্তিতে আমি বেশি কথা বলতে পারি না। আমার জ্ঞানের কাছে ওপেন-সোর্স, অবাধে লাইসেন্সপ্রাপ্ত সিএলআই সরঞ্জাম এবং পাওয়ারশেল জাহাজের পুরো সেট রয়েছে বলে এগুলির কোনওটিই একেবারে হতাশ নয়।

  • পাওয়ারশেলগুলি wgetজিএনইউ উইজেটে আপাতদৃষ্টিতে অতুলনীয় আর্গুমেন্ট নেয়। ধন্যবাদ, আশার ঝলক বহনযোগ্য-অকেজো less
  • পাওয়ারশেল পসিক্স বাশ-সামঞ্জস্যপূর্ণ নয়, বিশেষত &&অপারেটর পরিচালনা করা হয় না, শর্তসাপেক্ষে কমান্ডের সহজতম কোনও জিনিস নয় making

আমি মানুষকে চিনি না; আমি এটি একটি শট দিয়েছি, আমি সত্যিই করেছি; আমি এখনও এই আশায় এটিকে শট দেওয়ার চেষ্টা করি যে পরের বার এটি খুললে এটি কোনওভাবেই অকেজো হবে। আমি পাওয়ারশেলে কিছুই করতে পারি না এবং জিএনইউ সরঞ্জামগুলিকে উইন্ডোজে আনার জন্য আমি সত্যিই বাস্তব প্রকল্পের সাথে জিনিসগুলি করতে পারি।

মাইসিসজিট আমাকে বেশ কয়েকটি জিএনইউ সরঞ্জামের সাথে ডায়নোসর সেন্টিমিডি.এক্সপি প্রম্পট দেয় এবং এটি এখনও খুব অন্তর্হিত, তবে শেষের পথে সমাপ্তির কাজ করে। এবং গিট কমান্ড গিট বাশে চলবে।

মাইসিসজিটের জন্য মিন্টে সাইগউইনকে মাইজিগিতের পরিবেশের উপরে ইন্টারফেস দেয়, একটি জিনিস অনুলিপি করে আটকান (অনুলিপি নির্বাচন করুন (মাউস), Shift+ Insআটকানো, কীভাবে আধুনিক ...)। যাইহোক, জিনিস পছন্দgit push মিন্টিতে ভাঙার ।

আমার অভিমান বোঝাতে চাইছে না, তবে আমি এখনও উইন্ডোজটিতে সাইগউইনের মতো সরঞ্জাম দেওয়া কমান্ড-লাইনের ব্যবহারযোগ্যতার সাথে বিশাল সমস্যা দেখতে পাচ্ছি।


পিএস: কেবল পাওয়ারশেলের মাধ্যমে কিছু করা যেতে পারে, এটি ব্যবহারযোগ্য করে তোলে না । ব্যবহার ক্ষমতা দক্ষতার চেয়ে গভীর এবং গ্রাহক হিসাবে কোনও পণ্য ব্যবহার করার চেষ্টা করার সময় আমি তার দিকে মনোনিবেশ করি।


কুইকএডিট মোড চালু করবেন? অনুলিপি করতে এন্টার টিপুন, পেস্ট করতে ctrl-v, আর সম্পাদনা-> চিহ্ন বা সম্পাদনা-> আটকানো টিপুন। পছন্দগুলিতে থাকা অবস্থায়, উইন্ডো অবস্থানটি সেট করুন এবং "সিস্টেমের পজিশনের উইন্ডোটিকে" আনটিক করুন। ট্যাব সমাপ্তি কেবল ফাইল সিস্টেমের পাথগুলিই সম্পন্ন করে না, এটি ভেরিয়েবলের নাম, কমান্ডের নাম, অবজেক্টের বৈশিষ্ট্যগুলিও সম্পন্ন করে, আপনি কোনও সম্পত্তি বা সূচকটি টাইপ করতে .বা [প্রবেশ করতে চলেছেন, সুতরাং এটি কেবল শেষের দিকে কোনও পাথ বিভাজক যুক্ত করতে পারে না can't ঠিক কোন পাওয়ারশেল উইজেট? কোন পাওয়ারশেল পসিক্স? এটি উইন্ডোতে gnu সরঞ্জাম আনার চেষ্টা করছে না, বা bash- সামঞ্জস্যপূর্ণ বিটিডব্লু হতে পারে।
টেসেল্ল্যাটিংহেকলারের

হ্যাঁ আমি জানি এটি বাশ হওয়ার চেষ্টা করছে না। আমি আসল পোস্টে এ কথা বলতে বিরত ছিলাম। আমি বলব কোনটি বাইনারি পাবে তবে পাওয়ার শেলের মধ্যে কোন "কোন" কমান্ড নেই :( আমি কোথায় কিনতে পারি তা পড়ার শক্তি শেলটি
পসিক্স

5
পুনরায়: "কোনটি নয়" -> (get-command wg*.exe).Path। লিখেছেন: ব্যাশ বিল্ডিং এবং readline -> leeholmes.com/blog/2012/09/13/... নেতৃস্থানীয় github.com/lzybkr/PSReadLine
TessellatingHeckler

2

আমি দেখিনি যে পাওয়ারশেলটি সত্যিই বন্ধ হয়ে গেছে, কমপক্ষে এখনও হয়নি। সুতরাং আপনার দলের অন্যরা ইতিমধ্যে এটি না জেনে এটি শিখার প্রচেষ্টার পক্ষে উপযোগী নাও হতে পারে।

আপনার দুর্দশার জন্য আপনি হয়ত স্ক্রিপ্টিং ভাষার সাহায্যে আরও ভাল হয়ে উঠতে পারেন যা অন্যরা পিছনে আসতে পারে, আপনার মতো পার্ল বা রুবি বা পাইথনের মতো অন্যরা get

আমি মনে করি এটির অনেক কিছুই আপনার কী করা দরকার তার উপর নির্ভর করে। ব্যক্তিগতভাবে আমি আমার নিজের ব্যক্তিগত স্ক্রিপ্টগুলির জন্য পাইথনটি ব্যবহার করছি, তবে আমি জানি যখন আমি এমন কিছু লিখতে শুরু করি যা আমি কখনই এটি পাস করতে সক্ষম হবো না - তাই আমি খুব বিপ্লবী কিছু না করার চেষ্টা করি।


2

দুটোই ব্যবহার করবেন না কেন? পার্ল ইত্যাদির মতো অন্যান্য ব্যাখ্যাযুক্ত স্ক্রিপ্টগুলির মতো সাইগউইনের পাওয়ারশেল স্ক্রিপ্টগুলিকে কল করুন etc.

আমি সাইগউইনে পাওয়ারশেল.এক্সে কল করার জন্য একটি বাশ মোড়কের জন্য https://bitbucket.org/jbianchi/powershell লিখেছি এটি আমি যথেষ্ট করি । এটা একটা হিসাবে ব্যবহার করা যেতে পারে কুঁড়েঘর একটি powershell.exe .ps1 স্ক্রিপ্ট প্রথম লাইন হিসেবে (যেহেতু PowerShell এছাড়াও ব্যবহার একটি মন্তব্য হিসাবে "#")। উদাহরণের জন্য https://bitbucket.org/jbianchi/powershell/wiki/Home দেখুন


1

কয়েক লাইনে সাইগউইন এবং পাওয়ারশেল আলাদা আলাদা সরঞ্জাম তবে আপনি যদি সাইগউইন ইনস্টল করে থাকেন তবে আপনি পাওয়ারশেল সেশনের মধ্যে সাইগউইন এক্সিকিউটেবল চালাতে পারবেন। আমি পাওয়ারশেলের এত ব্যবহার করে ফেলেছি যে এখন আমি আর গ্রেপ, বাছাই করা, আঁশ ইত্যাদি ব্যবহার করি না Power পাওয়ারশেলের মধ্যে অনেকগুলি অন্তর্নির্মিত বিকল্প রয়েছে এবং যদি না পাওয়া যায় তবে আপনি সেখানে একটি সেমিডলেট খুঁজে পেতে পারেন।

আমি নিজেকে যে প্রধান সরঞ্জামটি ব্যবহার করছি তা হ'ল ssh.exe, তবে পাওয়ারশেল সেশনের মধ্যে।

এটি দুর্দান্ত কাজ করে।


0

আমি পাওয়ারশেল প্রোগ্রামিংটি চেষ্টা করার মতো নয় বলে মনে করি।

ইউনিক্সের অধীনে শেল স্ক্রিপ্টিং নিয়ে আমার বেশ কয়েক বছর অভিজ্ঞতা রয়েছে তবে পাওয়ারশেলের সাহায্যে অনেক কিছু করা আমার পক্ষে অত্যন্ত কঠিন বলে মনে হয়েছিল।

দেখে মনে হচ্ছে অনেকগুলি ফাংশনগুলির জন্য আপনাকে উইন্ডোজ ম্যানেজমেন্ট ইন্টারফেসটি জিজ্ঞাসাবাদ করতে হবে এবং আপনার প্রয়োজনীয় তথ্য পেতে এসকিউএল-জাতীয় কমান্ড জারি করতে হবে।

উদাহরণস্বরূপ, আমি ডিরেক্টরি ট্রি থেকে একটি নির্দিষ্ট প্রত্যয় সহ সমস্ত ফাইল মুছে ফেলার জন্য একটি স্ক্রিপ্ট লিখতে চেয়েছিলাম ইউনিক্সের অধীনে, এটি একটি সাধারণ ...

find . -name \*.xyz -exec rm {} \;

ঘন্টা দুয়েক নিয়ে বাঁশ খাওয়ানর পরে Scripting.FileSystemObjectএবং WScript.Shellএবং জারি "নির্বাচন করুন * Win32_ShortcutFile কোথায় ড্রাইভ = থেকে '" & ড্রাইভ & "' এবং পথ = '" & searchFolder & "'", পরিশেষে আমি ছেড়ে দিল এবং Windows এক্সপ্লোরার এর জন্য বসতি স্থাপন অনুসন্ধান কমান্ড এটি নিজেই করুন। আমি যা চেয়েছিলাম তা করার সম্ভবত কিছু উপায় আছে তবে আমি স্পষ্ট কিছু দেখতে পেলাম না এবং এমএসডিএন সাইটে সমস্ত উদাহরণ অদৃশ্য হওয়ার মতো তুচ্ছ।

এডিট হিহ, অবশ্যই আমি এটি লেখার সাথে সাথে আমি আরও কিছু ঘুরে দেখলাম এবং আমি যা অনুপস্থিত ছিল তা পেয়েছি: -recurseঅপসারণ-আইটেম কমান্ডের বিকল্পটি ত্রুটিযুক্ত (যদি আপনি ব্যবহার করেন তবে প্রকাশিত get-help remove-item -detailed)।

আমি "অপসারণ-আইটেম-ফিল্টার '* .xyz' -recurse" চেষ্টা করছিলাম এবং এটি কাজ করছে না, তাই আমি এটি ছেড়ে দিয়েছি।

আপনি ব্যবহার করা প্রয়োজন সক্রিয় get-childitem -filter '*.xyz' -recurse | remove-item


16
আমি মনে করি আপনি উইন্ডোজ স্ক্রিপ্টিং হোস্ট (ডাব্লুএসএইচ) পাওয়ারশেলের সাথে বিভ্রান্ত করছেন। তারা সম্পূর্ণ আলাদা।
এরিক ফানকেনবাশ

3
উদাহরণস্বরূপ, আপনি যদি .TMN- এ শেষ হওয়া সমস্ত ফাইল মুছতে চান তবে আপনি এই কমান্ডটি get-childitem c: inc-অন্তর্ভুক্ত * .TMN- রিচার্স প্রদান করতে পারেন foreach ($ _) {অপসারণ আইটেম $ _ পুরো নাম}
এরিক ফানকেনবাশ

@ মিস্ত্রি: আমি এটি চেষ্টা করে দেখেছি বলে মনে হয় না। কিছুটা ফাউজ করার পরে, মনে হয় যে * .tmn আপনার যা প্রয়োজন (কেবলমাত্র .tmn এর পরিবর্তে)
লাল্টুনা

5
আমি শ্রদ্ধার সাথে আরও একমত হতে পারি না, এবং আমি কোনওভাবেই কোনও উইন্ডোজ লোক নেই। বাশের চেয়ে পিএসকে স্ক্রিপ্ট করা অনেক সহজ মনে হয় easier পিএস আরও সুসংগত। বাশের সাথে, আপনি যে কোনও কনসোল ইউটিলিটিটি অনুরোধ করেছেন তার নিজস্ব বাক্য গঠন এবং অনন্য আচরণ রয়েছে এবং ব্যাশের বাক্য গঠন নিজেই ক্রিপ্টিক। বেনামে ফাংশন, (স্ক্রিপ্টব্লকস), প্যারামিটারের বৈধতা, উন্নত ফাংশন ইত্যাদির মতো ভাষা বৈশিষ্ট্যগুলির সাথে পিএস অনেক বেশি শক্তিশালী, বহনযোগ্যতার জন্য মডিউলগুলির ধারণাগুলি এবং অন্যান্য অনেকগুলি বৈশিষ্ট্য। মূলত যদিও, সবচেয়ে বড় কারণ হ'ল আপনি সর্বদা PS সম্পর্কে শোনেন, ট্রাম্পের পাঠ্যকে আপত্তি করে। বাশ যদিও এখনও দ্রুত।
ব্যবহারকারীর 23233949

0

আপনি https://github.com/skanga/BashWin এ ব্যাশ উইন ব্যবহার করে উইন্ডোজে বাশ স্ক্রিপ্টগুলি চালানোর চেষ্টা করতে পারেন ।


0

পাওয়ারশেল ইউনিক্স শেলগুলির স্ট্যান্ডার্ড বিল্ট-ইনগুলির চেয়ে অত্যন্ত শক্তিশালী, আরও শক্তিশালী (তবে এটি কেবলমাত্র সাবপ্রগ্রামগুলিতে শেল আউট কার্যকারিতাটির অনেকাংশ অন্তর্ভুক্ত করে)। এছাড়াও, স্বীকার করছি যে তুমিই সহ যেকোন .NET ভাষা, এ অ্যাপলেট লিখতে পারেন IronPython , IronRuby , PerlNet, ইত্যাদি .. অথবা আপনি কেবল PowerShell থেকে আপনার Cygwin কমান্ড কল করতে পারেন, সব অতিরিক্ত কার্যকারিতা উপেক্ষা এবং এটি ব্যাশ, এর একভাবে কাজ করবে KornShell , বা যাই হোক না কেন...


আমি মনে করি আপনি ইউনিক্স শেলগুলির ডিজাইন লক্ষ্যগুলি মিস করতে পারেন। পাওয়ারশেলকে কড়া নাড়ানো (নিজেই আরও শিখতে চাই) তবে এমন একটি বিবৃতি দেওয়ার জন্য আপনার ইউনিক্স টুলিং বুঝতে হবে।
Jé ক্যু

2
@ এক্সপোচ - না, আমি মনে করি আপনি পাওয়ারশেলের ডিজাইন লক্ষ্যগুলি হারিয়েছেন missing ইউনিক্স শেলগুলি যেভাবে তারা করে সেভাবে পাওয়ারশেল সমস্ত কিছু করতে পারে। যাইহোক, আসল শক্তিটি তখন আসে যখন আপনি কেবল পাঠ্য আউটপুটকে বিশ্লেষণ না করে PS এর অবজেক্ট পাইপিং সিস্টেমটি ব্যবহার করেন। সুতরাং, পাওয়ারশেল বাশ বা কর্ন যা করতে পারে ঠিক তা করতে পারে তবে তারা পাওয়ারশেল যা করতে পারে তা করতে পারে না।
এরিক ফানকেনবাশ

3
আমি কেবল পাওয়ারশেলকে এটির সমালোচনা দেওয়ার পক্ষে পর্যাপ্ত পরিমাণে জানি না, তবে আপনি যেমনটি ইউনিক্স শেলসের লক্ষ্যগুলি পরিষ্কারভাবে জানেন যে বাহ্যিক সরঞ্জামগুলির সম্পূর্ণ বিস্তৃত প্রতিস্থাপন নয়, তার চারপাশের নিয়ন্ত্রণ কাঠামো। আবার আমি এই মুহুর্তে তুলনা বা বৈসাদৃশ্য করতে পারি না তবে পাওয়ারশেলকে উঁচু করে তুলতে পারি কারণ এতে আরও বিল্ট-ইন রয়েছে অগত্যা ইউনিক্স শেলগুলির উত্সাহ নয়।
Jé ক্যু

@ এক্সপচ - মূল কথাটি হ'ল আপনি কোন উপায়ে এটি করতে চান তা চয়ন করতে পারেন। আপনি অন্তর্নির্মিত শেলটির সমস্ত ধার্মিকতা ব্যবহার করতে পারেন, বা আপনি ইউনিক্স যেমনভাবে তা উপেক্ষা করতে এবং করতে পারেন। এটা তোমার পছন্দ. এবং পছন্দ ভাল, তাই না?
এরিক ফানকেনবাশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.