Ayrıca takma takma adları otomatik olarak nasıl tamamlar?
Ayrıca takma takma adları otomatik olarak nasıl tamamlar?
Yanıtlar:
Komuta bağlı olarak:
/etc/bash_completion.d/*(veya bazı sistemlerde farklı bir konum) bulacaksınız . Bu işlevler yerleşik olarak kaydedilir (örneğin , bir komuta bastığınızda işlevi çağırmasını bash söyler ). Bash “burada olası tamamlamalar vardır” derken söylemek için yerleşik kullanırlar .complete complete -F _find find_findTabfindcompgen--helpve çıktıyı ayrıştırır. Bu tür komutlar complete, örneğin complete -F _longopt ls; _longoptAslında, bir komut oluşturma işlevidir, bu da bir komutun çıktısını sabit bir liste kullanmak yerine ayrıştırmaktır. (Olası tamamlamaları üretmek için bir komutun çıktısını çözümleyen daha özel tamamlama işlevleri vardır; /etc/bash_completion.d/*örneklere bakın.)completeYerleşik bunun için seçenekleri, örneğin sahiptir -Aadlar için.Bash tamamlama desteği, bash tamamlama paketi tarafından Debian ve Ubuntu'da sağlanır . Ayrıca , bash tamamlama dosyalarını kaynaklamak için aşağıdakileri /etc/bash.bashrcve / veya içindeki açıklamalardan da haberdar olmanız gerekir .bashrc. Aşağıdakilerden /etc/bash.bashrc:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
Bunun çalışması için. Genelde ikisini de rahatsız ediyorum. Debian'da etkileşimli / oturum açma kabukları ile uğraşmak biraz karışıklık yaratıyor.
Benzer yorumlar muhtemelen diğer dağıtımlar için de geçerlidir, ancak kaynak kullanımı varsayılan olarak mümkün olabilir.