Basta colocar essa função como seu .bashrc
:
catls()
{
[[ -f "" ]] && cat "" || ls "";
}
Ele irá cat
arquivos regulares, mas chama ls
para diretórios
Ok pessoal, este é um aviso de pergunta experimental!
Costumo confundir cat
e ls
ao trabalhar rapidamente no console. Não porque eu esqueça seus significados, não. Só porque eu digito sem pensar profundamente sobre o comando - ele só vem automaticamente. Tenho certeza de que todos sabem o que estou tentando explicar: você não precisa pensar no que digitar se sua tarefa for listar, digamos, um arquivo de texto - ou um diretório.
Agora, por que dois comandos diferentes? As coisas seriam mais fluentes se houvesse um comando que listasse um diretório se o destino fosse um diretório e que listasse o conteúdo de um arquivo se o destino fosse um arquivo.
Existe tal comando?
Eu sei que existem editores (por exemplo, vim
) com a capacidade de listar um diretório. Mas isso não é o que eu quero, como eu quero ficar no console. Segundo, depois de abrir um arquivo através da lista de diretórios vim
, não há caminho de volta - pelo menos nenhum que eu saiba.
Se não houver uma solução pronta para uso, tentarei transformar um pequeno script (wrapper) em cat
e ls
. Mas isso não é o preferido, porque ao trabalhar com muitos sistemas diferentes, ele tem que ser colocado em cada um deles ...
Basta colocar essa função como seu .bashrc
:
catls()
{
[[ -f "" ]] && cat "" || ls "";
}
Ele irá cat
arquivos regulares, mas chama ls
para diretórios