Eu gostaria de escrever um comando estruturado em várias linhas como
$ for i in *;
→ do
→ file $i;
→ done
bmdt.md: ASCII text
breakfast.md: ASCII text
brmdh.md: ASCII text
test.sh: Bourne-Again shell script text executable, ASCII text
mas encontre a guia não funcionando,
Como eu poderia ativar a tecla tab no console bash?
Respostas:
Quando você pressiona Enterapós digitar um comando incompleto, o
bash
shell mostra um prompt de continuação (o prompt secundário$PS2
) e permite que você complete o comando digitado. Os recursos de edição de linha de comando do shell nesse ponto são os mesmos do prompt original (o prompt primário$PS1
), o que significa que a Tabchave executaria a conclusão de comandos e nomes de arquivos como de costume.Para inserir um caractere de tabulação, use Ctrl+V Tabou use espaços para indentação. Caracteres de tabulação (ou qualquer outro caractere literal) sempre podem ser inseridos se prefixados por Ctrl+V.
Como alternativa, se no modo de edição de linha de comando do Emacs (que eu acredito ser o padrão
bash
), use Ctrl+X Ctrl+Epara abrir um editor para inserir seu comando. O editor usado será o especificado pelaEDITOR
variável shell / environment ouemacs
se essa variável estiver desabilitada.No modo de edição da linha de comando do Vi, pressione Escape vpara fazer a mesma coisa.
O comando será executado após salvar e sair do editor.
fonte
set -o vi
e que permite usar os comandos de edição do Vi / Vim na linha de comando, como (Esc
)dw
para excluir o final da palavra atual etc. Useset -o emacs
para voltar para o modo de edição da linha de comando do Emacs.Ctrl+X
Ctrl+E
, o shell o abrirá para você.