Use set -xno shell.
$ alias hello='echo hello world!'
$ hello
hello world!
$ set -x
$ hello
+ echo hello world!
hello world!
Usando set -xvoltas na xtraceopção de shell ( set +xdesliga) e deve funcionar em todos Bourne-como conchas, como bash, dash ksh93, pdkshe zsh. Isso solicita que o shell exiba o comando que é executado após a execução de expansões de alias e expansões variáveis etc.
A saída estará no fluxo de erros padrão do shell (assim como no prompt comum), para que não interfira nos redirecionamentos da saída padrão e será precedida por um prompt, conforme definido pela PS4variável do shell ( +␣por padrão).
Exemplo com algumas funções:
$ world () { echo "world"; }
$ hello () { echo "hello"; }
$ helloworld () { printf '%s %s!\n' "$(hello)" "$(world)"; }
$ helloworld
hello world!
$ set -x
$ helloworld
+ helloworld
++ hello
++ echo hello
++ world
++ echo world
+ printf '%s %s!\n' hello world
hello world!
Estou executando com set -xtodas as minhas conchas interativas por padrão. É bom ver o que realmente foi executado ... mas notei que a conclusão de guias programáveis etc. pode causar saída de rastreamento indesejada em alguns shells.
$@parte do seu apelido? Lembre-se de que os aliases não suportam argumentos, que serão expandidos para os parâmetros posicionais (se houver) do contexto que chama o alias. A maneira usual de executarsomealias some argsfunciona apenas expandindo o alias e deixando os argumentos para segui-lo. Se você realmente quer ser capaz de acessar os argumentos, use uma função, e citar o"$@"