"শেল" এবং "বাশ" পদগুলির মধ্যে পার্থক্য কী?


11

"শেল" এবং "ব্যাশ" এর মধ্যে পার্থক্য কী এবং এই পদগুলির অর্থ কী?

আমি যতদূর জানি, কোনও পার্থক্য নেই। তবে আমি "শেল" এবং অন্যদের "বাশ" সম্পর্কে প্রচুর বই দেখেছি!

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


7
এটি ক্লাস বনাম উদাহরণ পার্থক্য।
কাজ

1
আকর্ষণীয় পঠন সামগ্রী: unix.stackexchange.com/questions/4126/…
বার্নহার্ড

1
প্রথম শেলটি বোর্ন নামে একটি লোক লিখেছিল। BASH 'বোনে অ্যাগেন শেল' এর একটি সংক্ষিপ্ত রূপ। মজা করা জরুরী!
কিনজল দীক্ষিত

উত্তর:


31

একটি " শেল " হ'ল এমন কোনও সফ্টওয়্যার যা অপারেটিং সিস্টেমে ইন্টারফেস সরবরাহ করে। উদাহরণস্বরূপ, এক্সপ্লোরার.এক্সই উইন্ডোজে ডিফল্ট শেল (যদিও বিকল্প বিদ্যমান ) এবং ওএস এক্স ফাইন্ডারে একই কার্যকারিতা অনেকটাই সরবরাহ করে। লিনাক্স / * স্নো তারিখে, শেল (যেমন ডেস্কটপ পরিবেশে অংশ হতে পারে , Gnome বা ডি-ই ), অথবা পৃথক সফ্টওয়্যার এটি উপরে (যেমন বসে উপাদান হতে পারে ইউনিটি বা দারুচিনি )।

উপরের উদাহরণগুলি সমস্ত গ্রাফিকাল শেল যা মাউস কার্সারটি ব্যবহার করে ইন্টারফেস করতে পারে এমন একটি গ্রাফিকাল ইউজার ইন্টারফেস (জিইউআই) সরবরাহ করার জন্য উইন্ডোজ, মেনু, আইকন এবং এই জাতীয় উপাদানগুলির সংমিশ্রণ ব্যবহার করে। তবে বাশ, বা স্ক্রিপ্টগুলি লেখার মতো সফ্টওয়্যার প্রসঙ্গে, "শেল" সাধারণত কমান্ড-লাইন ইন্টারপ্রেটারকে বোঝানো হয়, যা পুরোপুরি পাঠ্য-ভিত্তিক বাদে গ্রাফিক্যাল শেল হিসাবে মূলত একই দায়িত্ব পালন করে।

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

উইন্ডোজে কমান্ড-লাইন শেলগুলির উদাহরণগুলির মধ্যে রয়েছে cmd.exe (ওরফে কমান্ড প্রম্পট) এবং পাওয়ারশেল


3
ওএস এক্স-এ সন্ধানকারীকে সাধারণত শেল বলা হয় না Most
Lri

1
@ লৌরিরন্ত উইকিপিডিয়া এর সাথে একমত নয় বলে মনে হচ্ছে । এটি অন্যান্য প্রক্রিয়া থেকে সহায়তা করেছে কিনা তা বিবেচনা না করেই এর কাজটি হ'ল একটি জিইউআইয়ের মাধ্যমে ব্যবহারকারীকে অন্তর্নিহিত ওএসের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে এবং এইভাবে এটি গ্রাফিকাল শেলের বিবরণে ফিট করে।
ইন্দ্রেইক

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

6
@ লৌরিরন্ত: দ্রুত কুইজ, নটিলাসের আইকন কী?
মিথ্যা রায়ান

2
@ লৌরিরন্ত কি শকের জন্য আরও ভাল প্রার্থী হবে না? প্রোগ্রাম চালু এবং ডকুমেন্ট খোলার, এক্সপোজ / স্পেসস / মিশন কন্ট্রোল, এএফআইএইচ লঞ্চপ্যাড এবং টাস্ক সুইচার পাশাপাশি ডক বৈশিষ্ট্য।
ড্যানিয়েল বেক

13

বেশ কয়েকটি শেলের মধ্যে বাশ অন্যতম।

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

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

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


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

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

@ বিলার: আপনার সংজ্ঞাটি জিনোম শেলকে জানাতে হবে।
প্যারাড্রয়েড

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

6

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

সাধারণ কথায়, কমান্ড লাইনটি কার্যকর হওয়ার জন্য এটি যে নির্দেশাবলী কল করতে পারে তা প্রয়োজন। সুতরাং কমান্ড লাইনের ব্যবহারের জন্য শেলের ভিতরে দিয়ে প্রোগ্রাম চালানো হয়েছিল programs প্রোগ্রামগুলি তাদের নিজস্ব প্যাকেজগুলিতে দৃly়ভাবে গোষ্ঠীভুক্ত করা হয়েছিল এবং একসাথে কাজ করার ইচ্ছা ছিল। এর মধ্যে "এলএস" এবং "গ্রেপ", "পিএস", "সেড" ইত্যাদি প্রোগ্রাম অন্তর্ভুক্ত রয়েছে এগুলিতে ">" এবং "<" এবং পাইপ ("|") এর মতো ফাইল পুনর্নির্দেশ কমান্ডও অন্তর্ভুক্ত রয়েছে। আরও গুরুত্বপূর্ণ এটির মধ্যে শর্তসাপেক্ষ অপারেশনগুলির মতো প্রোগ্রামিং কনস্ট্রাক্টসগুলিও অন্তর্ভুক্ত রয়েছে (যদি, তবে অন্যথায় লুপগুলির জন্য, যখন লুপগুলি থাকে, যখন আপনি কোনও বিবৃতি চালানোর সময় স্থিতি পরীক্ষা করার উপায়গুলি ফিরে আসে (উদাহরণস্বরূপ যদি আপনি "এলএস" চালান তবে এটি কিছু খুঁজে পেয়েছিল?), জিনিস সে রকমই). এগুলি আরও জটিল কমান্ড লাইন (শেল) স্ক্রিপ্টগুলির ভিত্তি,

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

কেন তারা সঠিকভাবে কমান্ড লাইন ইন্টারপ্রেটার হিসাবে পরিচিত এবং প্রকৃত শেল হিসাবে নয়: কারণ তারা শেলটিতে থাকে এবং সমস্ত কমান্ডকে ব্যাখ্যা করে যেন তারা কোনও প্রোগ্রামে চলছে। যতক্ষণ না এটি সঠিক মান পূরণ করে ততক্ষণ আপনি কী দোভাষীর সাথে এটি চালাচ্ছেন তা শেলটির কোনও যত্ন নেই।

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

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

আমি কী বলতে চাইছি তা দেখতে একটি ডিরেক্টরি 'পরীক্ষা' করুন:

mkdir test

এটি প্রবেশ করান এবং ফলসিং কমান্ডগুলি চালান

grep hello * 

আপনি 'এরকম কোনও ফাইল বা ডিরেক্টরি নেই' এর মতো এক ধরণের প্রতিক্রিয়া পাবেন। এখন কমান্ড লিখুন

echo $?

($? বলেছেন, ক্রিপ্টিক কম্পিউটারে আপনি কী খুঁজে পেয়েছেন তা বলুন)) আপনার এটি দেখতে একটি নম্বর ফিরে পাওয়া উচিত (এটি হওয়া উচিত) '2'। এটি গ্রাইপ থেকে রিটার্ন কোড যার অর্থ 'এই জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই'। এখন নিম্নলিখিত চালান:

echo hello > hello.txt
grep hello *
echo $?

আপনি প্রাথমিক গ্রিপ কমান্ড থেকে 'হ্যালো. টেক্সট' ফাইলটি দেখবেন এবং এখন 'প্রতিধ্বনি $' দেখতে পাবেন? '0' নম্বরটি ফিরিয়ে দিন যার অর্থ এটি আসলে কিছু খুঁজে পেয়েছে।

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

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


2

শেলটি একটি পাঠ্য ভিত্তিক ব্যবহারকারী ইন্টারফেস।

বাশ এক ধরণের শেল shell


2
"পরীক্ষা ভিত্তিক ব্যবহারকারী ইন্টারফেস" কী? এছাড়াও আপনার উত্তরটি কিছুটা প্রসারিত করা ভাল লাগবে .. আপনি অন্যান্য উত্তরগুলি থেকে দেখতে পাচ্ছেন, এটি সর্বদা আরও প্রসঙ্গ দিতে সহায়তা করে।

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

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

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

1

bashএক shellপরিবার, তবে অন্যান্য শাঁস প্রচুর আছে।

উদাহরণস্বরূপ, মিনিক্স 3-এ , ashশেল রয়েছে, এটি পছন্দসই অ্যারেগুলিকে সমর্থন করে না bash4

POSIX মান differents শেল ও অপারেটিং সিস্টেমের মধ্যে একটি পোর্টেবল এপিআই করতে চেষ্টা করা হয়।

Http://en.wikedia.org/wiki/Unix_shell#Bourne_shell_comp موافق দেখুন


1

bash বিদ্যমান অনেক গুলির মধ্যে একটি এটি।

সমস্ত শেলের মিল ও পার্থক্য রয়েছে differences উদাহরণস্বরূপ ব্যাশে লেখা একটি স্ক্রিপ্ট, অন্য শেলের সাথে উদাহরণস্বরূপ পুরোপুরি বা বৃহত্তরভাবে উপযুক্ত হতে পারে (উদাহরণস্বরূপ zsh )।

bashখুব বিস্তৃত যে কারণে , এটি প্রায়শই বোঝানো হয় যে কোনও স্ক্রিপ্ট এর সাথে সামঞ্জস্যপূর্ণ।

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

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