ইমাক্সে আমি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে একটি শেল চালাতে পারি -
M-x term
M-x shell
M-x eshell
এই তিনটির মধ্যে পার্থক্য কী?
ইমাক্সে আমি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে একটি শেল চালাতে পারি -
M-x term
M-x shell
M-x eshell
এই তিনটির মধ্যে পার্থক্য কী?
উত্তর:
shell
এই 3 টি পছন্দগুলির মধ্যে প্রাচীনতম। এটি comint-mode
সাবস্কেল চালানোর জন্য ইমাক্স ব্যবহার করে (উদাঃ bash
)। এই মোডে, আপনি একটি কমান্ড লাইন সম্পাদনা করতে ইমাস ব্যবহার করছেন। আপনি এন্টার টিপুন না হওয়া পর্যন্ত সাবপ্রসেস কোনও ইনপুট দেখতে পাবে না। ইমাকস বোবা টার্মিনালের মতো কাজ করছে। এটি রঙ কোডগুলি সমর্থন করে তবে কার্সারকে ঘুরিয়ে দেওয়ার মতো জিনিস নয়, সুতরাং আপনি অভিশাপ-ভিত্তিক অ্যাপ্লিকেশনগুলি চালাতে পারবেন না।
term
ইমাস লিস্পে লিখিত একটি টার্মিনাল এমুলেটর। এই মোডে, আপনি যে কীগুলি টিপছেন সেগুলি সরাসরি উপ-প্রসেসে প্রেরণ করা হয়; আপনি শেলটি যে পরিমাণ লাইন সম্পাদনার ক্ষমতা দেয় তা ব্যবহার করছেন, ইমাসের নয়। এটি আপনাকে এমন প্রোগ্রামগুলি চালনার অনুমতি দেয় যা অগ্রণী টার্মিনাল ক্ষমতাগুলি যেমন কার্সার আন্দোলন (যেমন আপনি ইম্যাক্স চালাতে nano
বা less
অভ্যন্তরে রাখতে পারেন ) ব্যবহার করেন।
eshell
ইমাস লিস্পে সরাসরি প্রয়োগ করা একটি শেল। আপনি bash
সাব-প্রসেস হিসাবে চালাচ্ছেন না বা অন্য কোনও শেল। ফলস্বরূপ, সিনট্যাক্সটি একেবারে মতো bash
বা একই রকম হয় না sh
। এটি কোনও প্রক্রিয়াটির আউটপুট সরাসরি ইম্যাক্স বাফারে পুনঃনির্দেশ করার চেষ্টা করে (চেষ্টা করে echo hello >#<buffer results>
)।
জাহেলি পৃষ্ঠা অনুসারে :
shell
অপারেটিং সিস্টেমের কমান্ড লাইন ইন্টারফেসের স্ট্যান্ডার্ড ইম্যাক্স ইন্টারফেস।
term
(আনসিস-টার্ম আজ টার্মের সাথে প্রায় একই রকম। এগুলি ছিল বিভিন্ন প্যাকেজ, তবে এখন উভয়ই টার্ম.এল সংজ্ঞায়িত হয়েছে) একটি টার্মিনাল এমুলেটর। এটি একটি উত্সর্গীকৃত টার্মিনাল অ্যাপ্লিকেশানের মতো আচরণ করে, যেমন {এক্সটার্ম, জিনোম-টার্মিনাল, কুকুরছানা}} এটি ইমাস শেল ইন্টারফেসের চেয়ে বেশি শেল অ্যাপ্লিকেশনের সাথে সামঞ্জস্যপূর্ণ, তবে চলমান কার্সারের মতো স্ট্যান্ডার্ড ইমাস কিগুলি এখানে কাজ করে না (কারণ এটি টার্মিনাল অনুকরণ করছে is)
eshell
পুরোপুরি ইমাস লিস্পে লেখা একটি শেল। দ্রষ্টব্য: এটি কোনও ব্যাশ এমুলেটর নয়। এশেল নিজে থেকেই একটি শেল, তবে বাশ বা অন্যান্য শাঁসের মতো।
আপনার কোনটি ব্যবহার করা উচিত?
এটি আপনার পছন্দ উপর নির্ভর করে।
shell
ক্লাসিক / স্ট্যান্ডার্ড ইউনিক্স শেল কমান্ডগুলির সাধারণ ব্যবহারের জন্য ভাল, যেমন {গ্রেপ, ডু, এলএস, বাছাই করা, বিড়াল, মাথা, লেজ, একাঙ্ক,…}}
term & ansi-term
আপনি ssh, বা অন্যান্য কমান্ড লাইন ইন্টারেক্টিভ ইন্টারফেস (যেমন {পাইথন, রুবি, লিস্প} শেল), বা based vim, synaptic,… as এর মতো পাঠ্য ভিত্তিক GUI অ্যাপ্লিকেশন চালাতে চান তবে ভাল}
eshell
বিশেষত মাইক্রোসফ্ট উইন্ডোজে ভাল যেখানে ব্যাশ ইনস্টল করা নেই, বা আপনি যদি ইমাস লিসপ প্রগ্রেমার হন তবে এসহেলের সরাসরি ইমাস লিস্পে অ্যাক্সেস রয়েছে।
which grep
এশলে বলে যে "এসেল / গ্রেপ একটি" সংকলিত লিস্প ফাংশন `এম- ইউনিক্স.এল 'এর কারণে আপনার সিস্টেমে গ্রেপ এক্সেল কার্যকর করা যেতে পারে, যেমন আমি বলেছিলাম যে এমএসে এসেল খুব কার্যকরী যা গ্রেপের মতো অনেক ছোট সরঞ্জাম ইনস্টল করা হয় না।
eshell
আপনার যদি সেগুলি ইনস্টল করা থাকে তবে সেগুলিও পাবেন।