Existe um ótimo tópico sobre isso nos fóruns do Ubuntu . Ole J propõe a seguinte função de definição de conclusão de alias:
function make-completion-wrapper () {
local function_name="$2"
local arg_count=$(($#-3))
local comp_function_name="$1"
shift 2
local function="
function $function_name {
((COMP_CWORD+=$arg_count))
COMP_WORDS=( "$@" \${COMP_WORDS[@]:1} )
"$comp_function_name"
return 0
}"
eval "$function"
echo $function_name
echo "$function"
}
Use-o para definir uma função de conclusão para seu alias e, em seguida, especifique essa função como um complemento para o alias:
make-completion-wrapper _apt_get _apt_get_install apt-get install
complete -F _apt_get_install apt-inst
Eu prefiro usar aliases para adicionar argumentos sempre usados a programas existentes. Por exemplo, com grep
, eu sempre quero pular dispositivos e arquivos binários, então eu faço um alias para grep
. Para adicionar novos comandos, como grepbin
, eu uso um script de shell na minha pasta ~/bin
. Se essa pasta estiver no seu caminho, ela será preenchida automaticamente.