Když si pustíte tenhleten skriptík, tak vám bash bude na tabelátor doplňovat aliasy pro mutt z .mail_aliases, takže když napíšete
mutt pok<tab>
tak se doplní např. pokorny. Je to skvělý pomocník, když si nepamatujete něčí adresu (ani alias) přesně.
#!/bin/bash
function _mutt()
{
local cur match prev aliases IFS
cur=${COMP_WORDS[COMP_CWORD]}
match=${cur##*,}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [[ "$cur" == -* ]]; then
COMPREPLY=( )
return 0
fi
if [ "$prev" == -b ] || [ "$prev" == -c ] || [[ "$prev" != -* ]]; then
IFS=$'\n'
aliases=$(grep "^alias \+$match" ~/.mail_aliases | sed -e 's/^alias \+//')
if [ -z "$aliases" ]; then
COMPREPLY=( )
return 0
fi
COMPREPLY=( $aliases )
#If there is only one possibility to complete, to prevent real
#completion we must add a dummy element to the COMPREPLY array.
if test ${#COMPREPLY[@]} = 1; then
COMPREPLY[${#COMPREPLY[@]}]=$(echo -ne "\200")
fi
return 0
fi
}
complete -F _mutt -o default mutt
Ahoj,
mam na jednom terminalu stale pusteny mutt, takze se mutt nespousti prikazem $mutt, ale alt+f12. Kdyz zmacknu (t), napisu par pismenek a zmacknu (tab), mutt mi sam doplni jmeno prijemce podle ulozenych aliasu.
To je jenom takovy priklad pro inspiraci.
Hezky den,
-- Dalibor Straka