Costumo ter um layout de diretório de projeto como este
project
`-- component-a
| `-- files...
`-- component-b
| `-- files...
`-- component-c
`-- files...
Normalmente, eu trabalharei em um dos component
diretórios, porque é onde estão os arquivos. Quando volto ao shell, muitas vezes simplesmente preciso mudar para um diretório irmão, especialmente quando preciso fazer algumas alterações não-programáveis em todos os componentes. Nesses casos, eu nem vou me importar com o diretório irmão anterior, no qual trabalharei, ou no próximo diretório irmão.
Posso definir um comando prev
ou next
isso simplesmente cd
me levará ao diretório anterior ou ao próximo diretório (por alfabeto ou qualquer outra coisa)? Porque digitar cd ../com<TAB><Arrow keys>
o tempo todo está ficando um pouco velho.
fonte
[[ -n $foundcwd ]]
sua resposta funcionará no bash e no zsh igualmente bem. Muito bom, e obrigado por escrever isso.A função a seguir permite mudar para diretórios irmãos (função bash)
Um exemplo de uso:
fonte
Encontrei uma dica em commandlinefu.com . Estou reposicionando-o aqui para torná-lo mais localizável, com uma explicação e um
next
comando adicionados enquanto estou nisso.A mágica está no bloco `$ (...). Conecta alguns comandos um ao outro da seguinte maneira:
fonte
"$foo"
,"$(foo)"
). Além disso, a análise da saída dels
não é confiável , pode falhar com nomes de arquivos contendo caracteres não imprimíveis.