ম্যাক ওএস এক্স-এর কমান্ডগুলির জন্য بش সমাপ্তি


38

উবুন্টুর মতো কমান্ড টাইপ করার সময় আমি কীভাবে finkএবং macportsস্বয়ংক্রিয়রূপে প্রোগ্রামের নাম পেতে পারি apt-get?

উদাহরণস্বরূপ যখন আমি টাইপ করি

sudo port install ca

এবং টিপুন tab, আমি টার্মিনালটি স্বয়ংক্রিয়রূপে পূর্ণ হওয়া বা আমাকে উপলভ্য কমান্ডগুলি প্রদর্শন করতে চাই।

ওএস এক্স এর পরেও কমান্ডগুলি স্বয়ংক্রিয়ভাবে সম্পন্ন করে না sudo!

উত্তর:


69

বাশ-সমাপ্তি এর জন্য সম্পূর্ণতা যুক্ত করে:

  • কমান্ডের নাম sudoএবং পরেwhich
  • ম্যাকপোর্ট এবং হোমব্রিউ প্যাকেজের নাম (alচ্ছিক)
  • known_hostsকমান্ডের মতো হোস্ট-নেমssh
  • ফোল্ডার চালু আছে CDPATH

ইত্যাদি। আপনি সমাপ্তির আদেশগুলির একটি তালিকা মুদ্রণ করতে পারেন complete -pএবং এর সাথে কোনও ফাংশনের উত্স দেখতে পারেন declare -f

হোমব্রিউ বা ম্যাকপোর্ট এবং ব্যাশ ইনস্টল করা

প্রথমে আপনাকে নির্দেশাবলী অনুসারে হোমব্রিউ বা ম্যাকপোর্টগুলি ইনস্টল করতে হবে । দ্রষ্টব্য: উভয়টি ইনস্টল করবেন না, কারণ তাদের মধ্যে বিরোধ রয়েছে।

তারপরে, বাশের একটি নতুন সংস্করণ ইনস্টল করুন। ওএস এক্স-এ অন্তর্নির্মিত বাশটি কিছুটা পুরানো এবং আপনি বাশ> ৪.১ এর সাথে আরও সমাপ্তির বিকল্পগুলি পাবেন যা আপনি পেতে পারেন

brew install bash

অথবা

sudo port install bash

আপনি হোমব্রিউ বা ম্যাকপোর্টগুলি ব্যবহার করেন কিনা তার উপর নির্ভর করে।

হোমব্রু দিয়ে বাশ-সমাপ্তি ইনস্টল করা হচ্ছে

ইনস্টল করতে bash-completion, আপনাকে:

brew install bash-completion

এবং আপনার সাথে নিম্নলিখিতগুলি যুক্ত করুন ~/.bash_profile:

if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion
fi

হোমব্রু বর্তমানে বাশ-সমাপ্তির একটি পুরানো সংস্করণ ইনস্টল করে (1.3) যা এখনও বাশ 3.x এর সাথে কাজ করে, তবে তবুও, ব্যাশ 4.x ব্যবহার করার পরামর্শ দেওয়া হয়।

ম্যাকপোর্টগুলি সহ ব্যাশ-সমাপ্তি ইনস্টল করা হচ্ছে

ম্যাকপোর্টস সহ:

sudo port install bash-completion

তারপরে আপনার যুক্ত করুন ~/.bash_profile:

if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
  . /opt/local/etc/profile.d/bash_completion.sh
fi

বন্দরের নামের জন্য কীভাবে সম্পূর্ণকরণ সক্ষম করতে হবে তার নির্দেশাবলীর জন্য trac.macport.org/wiki/howto/bash- কমপ্লিকেশন দেখুন ।


ম্যাকপোর্টস-এর bash-completionপ্যাকেজ অতিরিক্ত যুক্তি হিসাবে প্যাকেজের নামগুলি সম্পূর্ণ করার জন্য সহায়তা সরবরাহ করে port <verb>। 48-58 লাইন এখানে দেখুন । এই আচরণটি ম্যাকপোর্টস উইকিতে ইঙ্গিত করা হয়েছে , যা বলে: " এটি কেবল ফাইল এবং ডিরেক্টরিগুলির জন্য নয়, উদাহরণস্বরূপ কমান্ডগুলির জন্যও portSo সুতরাং আপনি টাইপ করুন port <Tab>এবং সমস্ত সম্ভাব্য কমান্ডের একটি তালিকা পান। " যদিও এটি কেবল স্পষ্টভাবে উল্লেখ করেছে ক্রিয়া (যা অনেক সহজ) এর সমাপ্তি।
ড্যানিয়েল বেক

প্যাকেজের নাম হয় স্বয়ংসম্পূর্ণ, উইকি ঠিক যে উল্লেখ নেই। লিঙ্কযুক্ত স্ক্রিপ্ট কোডটি দেখুন।
ড্যানিয়েল বেক

variants.confMacPorts নিজেই জন্য সমাপ্তির জন্য নয়; আপনার লিঙ্কযুক্ত উইকি পৃষ্ঠায় যেমন বর্ণনা করা হয়েছে তেমনি সমস্ত পোর্টগুলির জন্য স্বয়ংক্রিয়ভাবে সেট করতে ভেরিয়েন্টস কনফ বিভিন্ন রূপগুলি সংজ্ঞায়িত করে । এই লাইনটি যুক্ত করা আপনার ইনস্টল করা পোর্টগুলির পক্ষে যখন সম্ভব হয় তখন বাশ সম্পূর্ণকরণ সমর্থন সক্ষম করে।
কেভিন রেইড

হোমব্রিউতে স্বতঃপূরণ সম্পর্কে পরামর্শ দেওয়ার জন্য ধন্যবাদ। এই একাই এই উত্তরটি একটি আপ-ভোট অর্জন করেছে।
পল ওয়াগল্যান্ড 23

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