ইমাসে শেল, এসেল এবং টার্মের মধ্যে পার্থক্য কী?


60

ইমাক্সে আমি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে একটি শেল চালাতে পারি -

M-x term

M-x shell

M-x eshell

এই তিনটির মধ্যে পার্থক্য কী?

উত্তর:


61

shellএই 3 টি পছন্দগুলির মধ্যে প্রাচীনতম। এটি comint-modeসাবস্কেল চালানোর জন্য ইমাক্স ব্যবহার করে (উদাঃ bash)। এই মোডে, আপনি একটি কমান্ড লাইন সম্পাদনা করতে ইমাস ব্যবহার করছেন। আপনি এন্টার টিপুন না হওয়া পর্যন্ত সাবপ্রসেস কোনও ইনপুট দেখতে পাবে না। ইমাকস বোবা টার্মিনালের মতো কাজ করছে। এটি রঙ কোডগুলি সমর্থন করে তবে কার্সারকে ঘুরিয়ে দেওয়ার মতো জিনিস নয়, সুতরাং আপনি অভিশাপ-ভিত্তিক অ্যাপ্লিকেশনগুলি চালাতে পারবেন না।

termইমাস লিস্পে লিখিত একটি টার্মিনাল এমুলেটর। এই মোডে, আপনি যে কীগুলি টিপছেন সেগুলি সরাসরি উপ-প্রসেসে প্রেরণ করা হয়; আপনি শেলটি যে পরিমাণ লাইন সম্পাদনার ক্ষমতা দেয় তা ব্যবহার করছেন, ইমাসের নয়। এটি আপনাকে এমন প্রোগ্রামগুলি চালনার অনুমতি দেয় যা অগ্রণী টার্মিনাল ক্ষমতাগুলি যেমন কার্সার আন্দোলন (যেমন আপনি ইম্যাক্স চালাতে nanoবা lessঅভ্যন্তরে রাখতে পারেন ) ব্যবহার করেন।

eshellইমাস লিস্পে সরাসরি প্রয়োগ করা একটি শেল। আপনি bashসাব-প্রসেস হিসাবে চালাচ্ছেন না বা অন্য কোনও শেল। ফলস্বরূপ, সিনট্যাক্সটি একেবারে মতো bashবা একই রকম হয় না sh। এটি কোনও প্রক্রিয়াটির আউটপুট সরাসরি ইম্যাক্স বাফারে পুনঃনির্দেশ করার চেষ্টা করে (চেষ্টা করে echo hello >#<buffer results>)।


19

জাহেলি পৃষ্ঠা অনুসারে :

shell অপারেটিং সিস্টেমের কমান্ড লাইন ইন্টারফেসের স্ট্যান্ডার্ড ইম্যাক্স ইন্টারফেস।

term(আনসিস-টার্ম আজ টার্মের সাথে প্রায় একই রকম। এগুলি ছিল বিভিন্ন প্যাকেজ, তবে এখন উভয়ই টার্ম.এল সংজ্ঞায়িত হয়েছে) একটি টার্মিনাল এমুলেটর। এটি একটি উত্সর্গীকৃত টার্মিনাল অ্যাপ্লিকেশানের মতো আচরণ করে, যেমন {এক্সটার্ম, জিনোম-টার্মিনাল, কুকুরছানা}} এটি ইমাস শেল ইন্টারফেসের চেয়ে বেশি শেল অ্যাপ্লিকেশনের সাথে সামঞ্জস্যপূর্ণ, তবে চলমান কার্সারের মতো স্ট্যান্ডার্ড ইমাস কিগুলি এখানে কাজ করে না (কারণ এটি টার্মিনাল অনুকরণ করছে is)

eshellপুরোপুরি ইমাস লিস্পে লেখা একটি শেল। দ্রষ্টব্য: এটি কোনও ব্যাশ এমুলেটর নয়। এশেল নিজে থেকেই একটি শেল, তবে বাশ বা অন্যান্য শাঁসের মতো।

আপনার কোনটি ব্যবহার করা উচিত?

এটি আপনার পছন্দ উপর নির্ভর করে।

shell ক্লাসিক / স্ট্যান্ডার্ড ইউনিক্স শেল কমান্ডগুলির সাধারণ ব্যবহারের জন্য ভাল, যেমন {গ্রেপ, ডু, এলএস, বাছাই করা, বিড়াল, মাথা, লেজ, একাঙ্ক,…}}

term & ansi-term আপনি ssh, বা অন্যান্য কমান্ড লাইন ইন্টারেক্টিভ ইন্টারফেস (যেমন {পাইথন, রুবি, লিস্প} শেল), বা based vim, synaptic,… as এর মতো পাঠ্য ভিত্তিক GUI অ্যাপ্লিকেশন চালাতে চান তবে ভাল}

eshell বিশেষত মাইক্রোসফ্ট উইন্ডোজে ভাল যেখানে ব্যাশ ইনস্টল করা নেই, বা আপনি যদি ইমাস লিসপ প্রগ্রেমার হন তবে এসহেলের সরাসরি ইমাস লিস্পে অ্যাক্সেস রয়েছে।


আপনি উল্লিখিত সমস্ত কমান্ড (গ্রেপ, ডু, এলএস, ইত্যাদি) শেলটিতে নির্মিত প্রোগ্রাম এবং কমান্ড। eshellআপনার যদি সেগুলি ইনস্টল করা থাকে তবে সেগুলিও পাবেন।
বার্ট লুবার্স

1
@ বার্ট আপনার সিস্টেমে আপনার গ্রেপ মুছে ফেলার চেষ্টা করুন এবং এসেক্সেলে গ্রেপ অ্যাকশন করুন, আপনি দেখতে পাবেন যে এসেক্সেলের গ্রেপ আপনার সিস্টেমে গ্রেপ হয় না, which grepএশলে বলে যে "এসেল / গ্রেপ একটি" সংকলিত লিস্প ফাংশন `এম- ইউনিক্স.এল 'এর কারণে আপনার সিস্টেমে গ্রেপ এক্সেল কার্যকর করা যেতে পারে, যেমন আমি বলেছিলাম যে এমএসে এসেল খুব কার্যকরী যা গ্রেপের মতো অনেক ছোট সরঞ্জাম ইনস্টল করা হয় না।
কোডিচান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.