ইউনিক্স পাওয়ারশেলের সমতুল্য?


21

জটিল শেল কমান্ডগুলিতে এডাব্লুকে দিয়ে পাঠ্য আউটপুট পার্সিংয়ের সাথে জড়িত থাকার সময় আমি সর্বদা এটি বিশ্রী দেখতে পেয়েছি । মূলত আমরা কাঠামোগত ডেটাটিকে পাঠ্যে রূপান্তর করছি, আবার কাঠামোগত ডেটা ফিরে পেতে আবার পাঠ্যকে পার্সিং করছি।

পাওয়ারশেল হ'ল একটি উইন্ডোজ শেল যা আপনাকে কেবল পাঠ্যের পরিবর্তে শেল কমান্ডের মধ্যে টাইপ করা বস্তুগুলি পাইপ করার অনুমতি দিয়ে সেই সমস্যাটিকে এড়িয়ে চলে।

এমন কি কোনও ইউনিক্স শেল রয়েছে যা পাওয়ারশেলের মতো পাঠ্য-ভিত্তিকের পরিবর্তে অবজেক্ট-ভিত্তিক?

উত্তর:


24

না, এটি অন্যদিকে। কোনও চামচ ^ এইচ ^ এইচ ^ প্রতিরোধী ডেটা নেই। কেবল পাঠ্য আছে।

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

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

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

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


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

1
তবে 'ডেটা অবজেক্ট' বলতে কী বোঝায় কোনও আসল পাইথন / রুবি / সি ++ অবজেক্ট বা সি স্ট্রাক্টের মতো কিছু?
wzzrd

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

2
zsh> বাশ। আমার মতামত তবে সত্যই যদি আপনি zsh চেষ্টা না করেন তবে আপনার উচিত
xenoterracide

2
@ উইমকোয়েন, "কাঠামোগত ডেটা" চারপাশে শিপিংয়ের অর্থ প্রত্যেকের এবং চাচী টিলির "কাঠামো" কী তা একমত হতে হবে। এমনকি স্টাফ পছন্দ ls(1)। সম্পূর্ণ অকেজো।
ভোনব্র্যান্ড

10

বাস্তবে পাশ নামে একটি প্রকল্প রয়েছে যার লক্ষ্য পাওয়ারশেল ( মনোোর শীর্ষে) বাস্তবায়ন করা, তবে এটি স্থবির বলে মনে হচ্ছে।


2
ইউনিক্স হ্যাকাররা মাইক্রোসফ্ট-ভিত্তিক প্রকল্পগুলিতে সময় ব্যয় করে = এটাই পিপড়া এবং ঘাসফড়িং আবার
ixtmixilix

4
আমরা মৃতদের থেকে ফিরে এসেছি: github.com/JayBazuzi/Pash , twitter.com/PashProject
জে বাজুজি

4

একটি প্রকল্প রয়েছে, যার লক্ষ্য পাওয়ারশেলের সাথে হ'ল অংশ: হটওয়ায়ার । এটি পাইথন স্ক্রিপ্টিং এবং উইন্ডো / গ্রাফিক্যাল পরিবেশের সাথে নিয়মিত শের সম্মিলন করে। আপনি এটি চেহারা দিতে পারে।

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


1
এই প্রকল্পটি আমি নামটি মনে রাখার চেষ্টা করছিলাম! ট্রাঙ্কে শেষ প্রতিশ্রুতিবদ্ধ: দুই বছর আগে ...
wzzrd

4

পাওয়ারশেল ২০১ 2016 সালে ওপেন-সোর্স হয়ে গেছে then এর পর থেকে এটি আরও বেশি করে মাল্টি-প্ল্যাটফর্ম পাচ্ছে। সোর্স কোডটি গিটহাবটিতে উপলভ্য এবং তাই ইউনিক্স-এর মতো সংখ্যক সিস্টেমের জন্য প্যাকেজ ইনস্টল করা আছে।


1

আমি মনে করি আপনি এটি বেশিরভাগ সংখ্যক দোভাষী (বা সংকলিত) স্ক্রিপ্ট লিখে তার দ্বারা সম্পাদন করতে পারেন, তারপরে সেগুলিকে দোভাষীর শেলের মধ্যে অনুরোধ করুন, যা আপনার বস্তুগুলি ফিরিয়ে দেবে বা সংরক্ষণ করবে এবং যদি আপনি চান তবে।

আপনি এটি কমপক্ষে রুবি, পার্ল, পাইথন, হাস্কেল (যেমন, জিএইচসিআই), জাভাস্ক্রিপ্ট (যেমন, নোড.জেএস), মতলব এবং অন্যান্য ভাষায় করতে পারেন ...


পাইপটি অবজেক্টের অর্থ আপনি অলস মূল্যায়ন ইত্যাদি করতে পারেন তাই আপনি যদি কোনও পাইপের নিচে ফাইল অবজেক্টের একটি সেট পাস করেন .. তবে আপনি নাম, বা পরিবর্তিত তারিখের বিষয়ে যত্নশীল হবেন তবে বিষয়বস্তু হতে পারে। আপনি JSON এ কোন ডেটা পাস করবেন? উত্তর: এটি নির্ভর করে। পাইপের গ্রাহক যদি ডেটা টানেন, তবে এটি সঠিক ডেটার জন্য অনুরোধ করতে পারে। সমস্যা সমাধান.
নাইজেল থর্ন

1

তিন বছর পরে আরেকটি চিন্তাভাবনা: এক্সএমএল বা জেএসওএন ব্যবহার করে কোনও পাঠ্য স্ট্রিমের সাথে কোনও বস্তুর প্রতিনিধিত্ব করা সম্ভব। আমি জেএসএনকে (সহজতর) পছন্দ করি এবং প্রকৃতপক্ষে ক্লাসিক * এনআইএক্স ইউটিলিটিস জেএসওএন সমর্থন দেওয়ার জন্য সেখানে প্রকল্পগুলি রয়েছে। উদাহরণস্বরূপ: https://github.com/step-/JSON.awk

ক্লাসিক * এনআইএক্স প্রোগ্রামের জন্য এডব্লিউকে এর মতো কোনও অবজেক্ট-টাইপ মডেল ব্যবহার করার একটি সমস্যা হ'ল তাদের সত্যই ওও সমর্থন নেই। উদাহরণস্বরূপ, যখন এডাব্লুকে এসোসিয়েটিভ অ্যারে রয়েছে, অ্যারেগুলি বহুমাত্রিক নয় (এডব্লিউকে অ্যারেতে প্রতিটি উপাদান একটি সংখ্যা বা একটি স্ট্রিং হতে হবে; অ্যারেকে এডাব্লুকে তে অ্যারে অবজেক্ট হওয়ার অনুমতি নেই)।


ক্লোজওর এডন সরবরাহ করে যা জেএসএন সীমাবদ্ধ থাকাকালীন সমস্ত ধরণের টাইপ করা ডেটা সিরিয়ালাইজড / ডিসরিয়ালাইজড করার অনুমতি দেয়।
মারিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.