Se você realmente quer que which
se comporte dessa maneira, você pode redefini-la como uma função de shell dessa maneira:
which() {
if [ -n "$(type "$1" | grep "is aliased")" ]; then
command which $(type "$1" | awk '
{cmd=gensub("[07]", "", "g" , $NF);print cmd}')
else
command which "$1"
fi
}
Note que, embora isso deva funcionar se o seu shell for bash
, a função pode precisar ser ligeiramente modificada se você usar um shell diferente.