Tente isto:
cd() { builtin cd "$@" && ls; }
builtin
faz com que o cd
dentro da função invoque o comando cd
embutido em vez de tentar chamar a função recursivamente.
Eu me peguei fazendo cd some_dir
rapidamente seguido por ls
por algum tempo agora, e tenho tentado escrever um apelido bash para me deixar fazer isso, como:
alas cd="cd $@; ls";
Problema com isto é você não pode ter um argumento de entrada no meio de um alias (corrija-me se estiver errado).
Eu também tentei definir minha própria função de shell como sugerido por página :
cd() { cd "$@"; ls; }
Mas o problema com este é se eu tentar usá-lo assim:
cd Documents
o shell sai com [Process completed]
, tornando o shell inútil ... Então, como eu devo contornar isso?
No GNU Bash,
PROMPT_COMMAND=ls
Eu criei um script Bash que deve funcionar para que isso aconteça.
# Automatically do an ls after each cd
cd() {
if [ -n "$1" ]; then
builtin cd "$@" && ls --group-directories-first
else
builtin cd ~ && ls --group-directories-first
fi
}
alias cd='cd $@ && ls $@ --color '
cd qualquer nome de diretório, ele pode exibir todo o conteúdo. O alias definido como cd command in o arquivo .bashrc e execute o arquivo. arquivo .bashrc. é a mudança para todo lugar