Jawaban:
Solusinya adalah bash builtin compgen
. Untuk mengambil 'svn' dari semua perintah yang tersedia dan perintah alias yang dapat diakses $PATH
, ketik.
compgen -ac | grep svn
Ingin mencari dari awalan tertentu (mis. Semua perintah yang dimulai dengan ecrypt
)? Gunakan ekspresi reguler. .
compgen -ac | grep "^ecrypt"
Anda dapat mencoba menggunakan compgen
.
Sebagai contoh:
compgen -ac | grep "svn"
mungkin {,.}*svn*
membantu di sini, mis ls -l /usr/bin/{,.}*svn*<tab>
.
Tapi, lihat Zsh! Di sini: http://www.jukie.net/bart/blog/zsh-tab-completion adalah beberapa contoh yang bagus bagaimana ini dapat membantu mengurangi hasil penyelesaian tab Anda. Ini juga termasuk negasi, misalnya jika Anda ingin semua hasil penyelesaian-tab tanpa kata "foobar", atau semua hasil dengan angka genap di tempat pertama, penyelesaian-subdirektori tab dan banyak lagi. Alasan mengapa saya berubah menjadi zsh adalah berbagi riwayat antara semua terminal terbuka.
Saya tidak tahu compgen, dan akan menyarankan:
ls -d ${PATH//:/\/*svn* } 2>/dev/null
untuk bash.
${VAR//pattern/replace} replaces in VAR pattern with replace. // is used to replace every pattern, not just the first, which would be just /.