Sou um grande fã do arquivo ~/.bash_aliases e estou tentando fazer com que o cd
comando liste automaticamente o conteúdo de um diretório quando eu mudar para ele.
No meu arquivo .bash_aliases, coloquei alias cd='cd $1 && ls .'
, salvei o arquivo e, em seguida, criei o arquivo para carregá-lo. Agora, quando executo cd /
, obtenho a saída esperada, mas meu diretório não muda.
Qualquer ajuda é muito apreciada.
Responder1
Você realmente não pode fazer isso com um alias porque os aliases não usam argumentos de linha de comando.
Você pode fazer isso com uma função shell e o comando interno chamado command
. O command
comando diz ao shell para usar apenas a versão interna do cd
comando, não a função. Isso é necessário para evitar recursão na função:
cd() {
command cd "$1" && ls
}