Algumas palavras mais sobre Tab
Tabé ótimo concluir um comando escrito parcial (ou uma opção) entre os disponíveis, conforme sublinhado por Terdon em outra resposta .
Para concluir um comando, basta pressionarTab uma vez. Para ter a lista completa, pressioneTab novamente.
Além disso, você pode personalizar o comportamento deTab . Tente, por exemplo, essas 2 linhas:
bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"
O primeiro Tabmostra todas as possibilidades e o comando é completado automaticamente com o primeiro disponível; a partir da segunda vez que você pressiona Tab , o comando começa a circular entre eles.
Notas:
Você pode escrever seus próprios scripts de conclusão do bash , com opções de regras ...
Existem mais algumas dicas no artigo Uma introdução à conclusão do bash : a primeira parte é para as bases e a segunda para escrever seu próprio script.
Você pode achar interessante bind
complete
e as referências aqui abaixo.
2ª resposta: caminhos absolutos e atalhos
Nem sempre é obrigatório escrever o caminho absoluto (completo) em cada comando, mesmo que seja uma boa prática quando você escreve um script e deseja evitar o risco de explorar como cavalos de Troia .
Há algum atalho para ir mais rápido, como, por exemplo, Tab, , , e um todas as variáveis definidas no shell atual. Alt+..~
Aqui abaixo alguns exemplos ( .significa aqui e ~significa lar ):
Para copiar um arquivo para o diretório atual, basta escrever
Para copiar do diretório para um arquivo atual, você pode escrever
Para copiar um arquivo do diretório atual para o último, escreva o último argumento do último comando armazenado no histórico . Se pressionado novamente, substituirá o que foi encontrado com o da posição anterior no histórico do bash. Com um exemplo é mais simples:cp /my/far/far/away/myfile .
home
cp ~/myfile .
cp myfile $OLDPWD
Alt+.
mkdir OldDir
mkdir NewDir
cd # here press `Alt + .` and it will autocomplete with NewDir
# press `Alt + .` again and you will see "cd OldDir"
Referências:
- Uma introdução à conclusão do bash : parte 1 e parte 2
help bind
, sim ajuda porque bind
é um comando embutido
help complete
e complete -p | less
ter uma lista em um formato aconchegante.
help pushd
e help popd
empurrar e exibir um diretório da pilha.
- Construções programáveis de conclusão