De Dicas e truques do Bash: 'cd' com estilo :
Por fim, quero mostrar a você como criar seu próprio substituto personalizado para o comando 'cd'.
Você se encontra sempre digitando a mesma coisa ao mudar para um diretório? Você provavelmente pelo menos lista os arquivos lá todas as vezes, talvez tanto que suas mãos digitam automaticamente 'ls' depois de cada 'cd'.
Bem, ao tentar de todas as maneiras que consegui pensar, acontece que existe apenas uma maneira de realizar adequadamente o objetivo que estamos buscando. Temos que criar uma função de shell.
As funções do shell fazem parte da programação do shell. Como nas linguagens de programação compiladas, as funções fornecem uma espécie de modularizabilidade processual. Pode-se criar uma função genérica para executar um bit de lógica ou computação frequentemente usado com parâmetros diferentes. Nesse caso, o parâmetro é o diretório de trabalho atual.
Aqui está uma simples:
function cs () {
cd
ls
}
Como @geirha observa corretamente, a função acima irá falhar se você tentar mudar para um diretório com um espaço em seu nome :
$ cs A\ B/
-bash: cd: A: No such file or directory
<current directory listing>
Você deve usar a seguinte função:
function cs () {
cd "$@" && ls
}
Depois de adicionar esse código ao seu ~/.bashrc
, você poderá fazer isso:
hello@world:~$ cs Documents/
example.pdf tunafish.odt
hello@world:~/Documents$