Aliases vivem apenas no shell que os definiu, e system inicia um novo shell. Esse shell não lerá ~/.bashrc ou outros arquivos nos quais os aliases são normalmente definidos: somente shells interativos. Alguns shells, mas não todos, lêem outro arquivo, mas existe uma maneira independente de utilizar esse shell.
A pesquisa de comando do shell tenta os seguintes elementos nesta ordem:
- Aliases - não.
- Funções - não, pelo mesmo motivo.
- Builtins - não.
- Comandos no
PATH- tem que ser isso por padrão.
Portanto, trabalhe para garantir que a pesquisa de ls em $PATH ative o programa cat .