কিভাবে একটি স্ট্রিং হিসাবে স্বতঃপূর্ণ সমাপ্তি থেকে ফলাফল পেতে?


4

আমি যা খুঁজছি তা অন্য প্রোগ্রামের জন্য ব্যাশে অটোমেশন যুক্ত করতে হয় না, তবে মূলতঃ স্ট্রিংয়ে কী ঘটেছে তার ফলাফল পেতে একটি উপায়:

autocomplete "/etc/apa"

ফিরে আসবে

/etc/apache2/

তাই আমি যে আমার স্ক্রিপ্ট ব্যবহার করতে পারেন।

যেকোন সাহায্যের ব্যাপকভাবে প্রশংসা করা হয়, কারণ আমি যা জানতে পারি তা হল "সম্পূর্ণ" ব্যাশ ফাংশনটি কীভাবে ব্যবহার করা যায়, যা কিছু ভিন্ন করে;)

চিয়ার্স, রাফায়েল

উত্তর:


6

Bashএকটি বিল্ট ইন কমান্ড compgenযা আপনাকে অনেক সাহায্য করতে পারে। উদাহরণস্বরূপ, যদি আপনি জানতে চান যে কোন ডিআইআরটি স্বয়ংক্রিয়ভাবে সম্পন্ন হবে তখন আপনি টাইপ করবেন cd /etc/s<TAB>:

$ compgen -d /etc/s
/etc/security
/etc/sgml
/etc/skel
/etc/ssh
/etc/ssl
/etc/subversion
/etc/sudoers.d
/etc/sysctl.d
$

তারপর, নিম্নোক্ত কমান্ডটি আপনাকে জানাবে যে আপনি কোনটি দিয়ে যাবেন cd /etc/se<TAB>:

$ compgen -d /etc/se
/etc/security
$

compgencompleteকমান্ড সবচেয়ে অপশন নিতে পারেন । দেখুন ব্যাশ এর ম্যানুয়াল আরো বিস্তারিত জানার জন্য।

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