Existem duas maneiras de fazer isso. Você pode criar um alias como LnxSlck postado ou outro está criando uma função em .bash_aliases
mycd(){ cd "" && ls; }
Na maioria das vezes, quando faço o comando cd , também faço um ls para ver quais outros arquivos ou pastas estão nesse diretório. Então eu quero executar ls toda vez que eu mudar o diretório. Eu sei que posso fazer cd foo && ls , mas é realmente necessário fazer && ls everytime?
Existem duas maneiras de fazer isso. Você pode criar um alias como LnxSlck postado ou outro está criando uma função em .bash_aliases
mycd(){ cd "" && ls; }
Eu uso o seguinte, o que não envolve adicionar novos comandos:
cd() {
builtin cd "$@"
local status=$?
[ $status -eq 0 ] && ls
return $status
}
Isso faz com que cd funcione da mesma forma que antes, exceto que também há um ls .
Observe as seguintes implicações: Os outros exemplos não permitem argumentos para cd . Embora, reconhecidamente, esses argumentos sejam incomuns, este é um substituto compatível com 100%. E como ele retorna o status de saída de cd , ele não interromperá os scripts.
Há uma ressalva aqui. Se você não quiser essa funcionalidade, será necessário chamar builtin cd . Mas minha experiência em usar essa função por muitos anos é que tais ocorrências são raras, ocorrendo principalmente em scripts, e a conveniência de não precisar digitar algo como mycd toda vez que você deseja alterar diretórios supera em muito a menor desvantagem de digitar builtin cd uma vez em uma lua azul.
Você pode fazer um alias para cd e adicioná-lo ao seu * bash_profile * ou bashrc , algo como:
alias 'mycd'='cd && ls'
coloque isso no seu .bashrc . No entanto, é recomendável armazenar todos os seus aliases no arquivo ~/bash_aliases , portanto, crie o arquivo usando touch ~/.bash_aliases , se ainda não estiver presente, e use-o para armazenar todos os aliases .