আপনি যখন কমান্ড টাইপ করেন যা আপনার সিস্টেমে উপস্থিত নেই বাশ ফাংশন command_not_found_handle()
। এই ফাংশনে /usr/lib/command-not-found
স্ক্রিপ্টে একটি কল রয়েছে যা বার্তা প্রিন্ট করে।
উবুন্টু 12.04
stdout
পরিবর্তে বার্তাগুলি মুদ্রণের জন্য এই স্ক্রিপ্টটির উত্স পরিবর্তন করার জন্য আমার প্রথম অনুমান stderr
, তবে যখন আমি স্ক্রিপ্টের উত্স পড়ছিলাম তখন আমি দেখতে পেলাম যে আপনি অনুপস্থিত প্যাকেজটি ইনস্টল করতে চান কিনা তা জিজ্ঞাসা করার জন্য আপনি এটি কনফিগার করতে পারেন।
আপনি যদি ভেরিয়েবল রফতানি করেন তবে আপনাকে COMMAND_NOT_FOUND_INSTALL_PROMPT
অনুপস্থিত প্যাকেজ ইনস্টল করতে বলা হবে:
pbm@ubuntu:~$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
pbm@ubuntu:~$ export COMMAND_NOT_FOUND_INSTALL_PROMPT=""
pbm@ubuntu:~$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
Do you want to install it? (N/y)y
sudo apt-get install git
[sudo] password for pbm:
উবুন্টু এর পুরানো সংস্করণ
দুর্ভাগ্যক্রমে কোনও COMMAND_NOT_FOUND_INSTALL_PROMPT
বিকল্প নেই যাতে আমি আরও কয়েকটি বিকল্প খুঁজে পেতে পারি:
1) 12.04 থেকে প্যাকেজ ইনস্টল করুন - এটি সমস্যা হওয়া উচিত নয় - এটি পাইথনে কেবল কয়েকটি স্ক্রিপ্ট রয়েছে যাতে এটি কাজ করা উচিত (অনির্ধারিত!)।
2) এ পরিবর্তন stderr
করুন stdout
। এটা সম্পাদন করা ফাইল করার জন্য /usr/lib/python2.7/dist-packages/CommandNotFound/CommandNotFound.py
এবং পরিবর্তন stderr
করার জন্য stdout
লাইন 237 এবং 240 হবে।
এর পরে আপনি এটি এইভাবে ব্যবহার করতে পারেন:
pbm@ubuntu:~$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
pbm@ubuntu:~$ `git`
//Installation begins
আপনি 237 এবং 240 লাইনে কমান্ডের -y
বিকল্প যুক্ত করলে apt-get
আপনি বাক্য গঠনও ব্যবহার করতে পারেন !! | sh
।
3) আপনি 242 লাইন থেকে এই স্ক্রিপ্টটিও এভাবে পরিবর্তন করতে পারেন:
print >> sys.stderr, _("You can install it by typing:")
f = open("%s/.install-missing" % os.path.expanduser('~'),'w')
print >> sys.stderr, "sudo apt-get install %s" % packages[0][0]
print >> f, "sudo apt-get install %s" % packages[0][0]
f.close()
এইভাবে আপনি ফাইলটিতে আপনার কমান্ড পাবেন ~/.install-missing
, যাতে আপনি নামটি তৈরি করতে পারেন:
alias im="chmod +x ~/.install-missing; ~/.install-missing"
আপনি কল im
পেলে ইনস্টল করা হবে।
/usr/lib/command-not-found
তবে এর কোনও উল্লেখ নেইCOMMAND_NOT_FOUND_INSTALL_PROMPT
- চিন্তাভাবনা?