Os aliases não têm parâmetros, tente a função
cd() { builtin cd "$1" ; ls ; }
Estou adicionando alguns aliases ao meu arquivo .bashrc para alguns atalhos que uso com frequência, entre os quais estão:
alias .="cd /;ls"
alias ..="cd ../;ls"
alias cd="cd $1;ls"
alias ls="clear;pwd;ls"
O resultado efetivo é que sempre que eu navego para um novo diretório, a janela é limpa e exibe o novo diretório e seu conteúdo no topo.
Todos esses aliases funcionam, exceto pelo alias de cd. Eu tentei várias combinações de tentar cd para o novo diretório e executar ls lá, mas parece que só posso listar o conteúdo do diretório e retornar para o diretório antigo, ou com sucesso cd para o diretório, mas com o lista gerada sendo do diretório antigo.
Existe algo especial que precisa ser feito quando o aliasing cd (ou qualquer comando com argumentos) no bash? Eu sinto que esta é uma tarefa relativamente simples, mas estou negligenciando algo com a sintaxe.