2014-04-04 14 views
7

Tam özellik özelliklerini değiştirmeye çalışıyorum.İki dosya uzantısını belirtme bash tam

Ben thusly bir komut için bir dosya uzantısı hariç tutabilirsiniz:

complete -f -X '*hi' vim 

Ben dışlama için iki dosya adlarını belirtmek istiyoruz. Bunu nasıl yaparım?

Not: Aşağıdaki komut çalışmadı. Bunu yapmak için

complete -f -X '(*hi|*o)' vim 

cevap

6

bir yolu Globs Extended açmaktır. komut satırına bu çalıştırın veya .bashrc eklemek kalıcı hale:

shopt -s extglob 

Şimdi, tam komut şöyle olabilir:

yılında Globs
Extended den aktaran
complete -f -X '*[email protected](hi|o)' vim 

patterns:

@(list): Matches one of the given patterns. 
+0

Bu işe yarayamıyorum, ancak buradaki diğer örneklerle aynı olmasına rağmen. Yapıştırılmış verbatim ve bash 4.3.30 hala ''o' dosyalarını tamamlar. Yine de tek bir uzantı verirken iyi çalışıyor. – jozxyqk

+0

Bunun çalışması için, "bash-completion" paketi kurulu olmalıdır ve muhtemelen ~/.bashrc'nizde '/ etc/bashrc' yoluyla gönderilmelidir. Bununla birlikte, uygun bir şekilde [çevre değişkenlerinin genişlemesi] (http://stackoverflow.com/questions/6418493/bash-variable-expansion-on-tab-complete) kırılanları kaldırdım, örneğin ls $ DIR/somefil '. – jozxyqk

İlgili konular