Se bem entendi, você quer fazer algo que usa um nome de comando, digamos dmesg
, e transformá-lo em algo que canaliza sua saída para lolcat
.
Isso ainda é melhor feito usando funções:
dmesg () { command "$0" "$@" | lolcat; }
Isso é tão "genérico" quanto é possível. O comando command
ignora funções e chama builtins ou executáveis: Qual é o uso do comando: 'command'? . $0
, como você percebeu, é o nome da função, sendo este o nome do comando também. Portanto, command "$0"
executa o comando com o mesmo nome da função.