উবুন্টু কীভাবে জানতে পারে কী কী প্রোগ্রাম বিদ্যমান এবং ইনস্টল করা যায়?


9

আমি একটি টার্মিনালে নিম্নলিখিত টাইপ

$ musique
The program 'musique' is currently not installed. You can install it by typing:
sudo apt-get install musique

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

$ musiquez
No command 'musiquez' found, did you mean:
 Command 'musique' from package 'musique' (universe)

এটি জানে যে "মিউজিক্জ" নামক কোনও প্রোগ্রাম নেই।

আমার প্রশ্ন, উবুন্টু এটি কীভাবে জানতে পারে? উবুন্টুতে কী কী অ্যাপ্লিকেশন ইনস্টল করা যায় সে সম্পর্কে এই তথ্যটি কোথায় সংরক্ষণ করা হয়?

উত্তর:


9

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

এটা কিভাবে কাজ করে?

এটি যেভাবে কাজ করে তা command_not_found_handle()ব্যাশের ফাংশনটির মাধ্যমে । বাশ একটি হুক সরবরাহ করে যা মূলত একটি ফাংশন যা কমান্ড পাওয়া না গেলে ডাকে।


আপনি যদি আরও কৌতূহলী হন তবে /usr/lib/command-not-foundফাইলটি খুলুন এবং স্ক্রিপ্টটি একবার দেখুন। এটি পাইথন মডিউল কমান্ডনটফাউন্ড ব্যবহার করে কাজ করে।

এখানে চিত্র বর্ণনা লিখুন


4

একজোড়া প্যাকেজ command-not-foundএবং command-not-found-dataএইগুলি এই বৈশিষ্ট্যটিকে কাজ করে।

command-not-foundcommand_not_found_handle()বাশ ফাংশনটির জন্য কেবল হ্যান্ডলার ; এটি সরবরাহিত কমান্ড এবং প্যাকেজগুলির মধ্যে ম্যাপিং সম্পর্কিত ডেটা অনুসন্ধান করে command-not-found-data


আমি ধরে নেব যে command-not-foundএরপরে প্রতি ব্যবহারকারী চালানোর সময় তৈরি হওয়া ভাণ্ডারগুলির স্থানীয় ক্যাশে পরীক্ষা করে দেখুন sudo apt-get update
নার্ডওয়ালার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.