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 .