alemare Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
![](images/avatars/13812675714199ada6e24ba.jpg)
Joined: 23 Sep 2004 Posts: 137 Location: Firenze
|
Posted: Sat Mar 05, 2005 10:57 am Post subject: eix bash-completion |
|
|
Ciao!
premetto che il metodo che ho usato non mi è piaciuto, ero anche indeciso se scrivere o no... ho si capito qualcosa di più di prima ma in fin dei conti è stato solo fare un copia incolla, le mie conoscenze sul bash cript non mi permettono di fare molto di più...
mi capita spesso adesso di usare eix non solo per cercare, ma anche per controllare i pacchetti che magari qualche altro pacchetto quando faccio emerge richiede ma non conosco oppure per controllare la versione installata... così mi sono detto... la bash-completion anche su questo comando mi farebbe veramente comodo! cercando però non ho trovato e allora ho ripensato... c'è per il comando emerge e eix su per giù ce la dovrebbe avere simile.
Così controllo il file
Code: | cd /usr/share/bash-completion/
nano -w gentoo |
leggendo un po' di codice e i vari commenti mi soffermo sull'ultima parte che ho pensato fosse quella che mi servisse di più...
Code: | # If all else fails, try to complete on package names without the
# category being specified. Neato!
if [[ ! "${COMPREPLY}" ]]; then
words="$(cd ${portdir}; for i in [a-z]*-[a-z0-9]*/${cur}*; do [$
COMPREPLY=($(compgen -W "${words}" -- ${cur}))
fi
return 0
|
così inizio a provare
Code: | touch eix
nano -w eix |
e scrivo:
Code: | have eix && {
_eix()
{
//metto all'inizio
COMPREPLY=()
local portdir=$(_portdir)
local i
cur="${COMP_WORDS[COMP_CWORD]}"
//incollo quella parte togliendo l'if
words="$(cd ${portdir}; for i in [a-z]*-[a-z0-9]*/${cur}*; do [ -d $i ] && echo ${i##*/}; done)"
COMPREPLY=($(compgen -W "${words}" -- ${cur}))
return 0
}
complete $filenames -F _eix eix
} |
poi aggiungo il link su /etc/bash_completion.d/
Code: | cd /etc/bash_completion.d/
ln -s /usr/share/bash-completion/eix eix
|
avvio un nuovo terminale... e funziona!
critiche anche pesanti sono ben accette, anche a me il modo in cui ho fatto questo non è piaciuto...
Ciao Alemare |
|