Assim:
# Install git on demand
function git()
{
if ! type -f git &> /dev/null; then sudo $APT install git; fi
command git "$@";
}
O command embutido suprime a pesquisa de função. Eu também mudei seu $* para "$@" porque isso vai lidar corretamente com argumentos que não são uma palavra (por exemplo, nomes de arquivos com espaços).
Além disso, adicionei o argumento -f a type , porque senão notará a função.
Você pode querer considerar o que fazer em caso de erro (por exemplo, quando apt-get install falha).