2009-04-29 8 views
12

मेरे पास एकजुट प्रोफाइल की एक सूची है जो ~/.unison/*.prf में मौजूद है।किसी विशेष निर्देशिका में कुछ प्रकार की फ़ाइलों के लिए बैश पूर्णता

मैं इतना है कि जब मैं unison या unison-gtk टाइप करें और टैब मारा यह .prf हिस्सा बिना कि फ़ोल्डर से .prf फ़ाइलों की सूची होगी बैश पूरा होने के लिए करना चाहते हैं।

शायद एक उदाहरण स्पष्ट होगा:

$ ls ~/.unison/*.prf 
default.prf dot-mozilla.prf to-desktop.prf 

$ cd ~ # just to show you don't have to be in the ~/.unison folder 
$ unison to<tab> 
$ unison to-desktop 

मैं एक और उपकरण के लिए इस की जरूरत के पूर्वानुमान के साथ-साथ, तो यह अगर वहाँ भागों है कि पुन: उपयोग किया जा सकता था सुविधाजनक होगा।

उत्तर

15

यदि आप डेबियन/उबंटू या संभवतः अन्य जीएनयू/लिनक्स डिस्ट्रोज़ चला रहे हैं, तो आपके /etc/bash_completion.d/ निर्देशिका में इस प्रकार के पूर्ण होने के उदाहरण होना चाहिए। आप निम्न तरीके से सामंजस्य के लिए एक पूरा होने स्क्रिप्ट सेट कर सकते हैं का एक उदाहरण है:

have unison && 
_unison_show() 
{ 
     local cur 

     COMPREPLY=() 
     cur=${COMP_WORDS[COMP_CWORD]} 
     COMPREPLY=($(compgen -W "$(for x in ~/.unison/*.prf; do echo $(basename ${x%.prf}); done)" -- $cur)) 
} 
complete -F _unison_show unison 
+0

अच्छा काम करता है, केवल परिवर्तन मैंने किया था पूरा -ओ nospace एफ _unison_show सामंजस्य सामंजस्य-जीटीके –

संबंधित मुद्दे