Como voltar para a linha anterior de um script no terminal?

5

Estou tentando escrever um roteiro, mas estou preso aqui. Veja o código por favor!

aug@august:~/play$ for i in {1..100..4}
> do
> echo "august"
> touch august $i+
> mkdir dir

Existe algum caminho para a linha anterior? Quer dizer, houve um tipo errado, eu fiz em touch august $i+ . Eu pressionei a tecla ENTER , então fui para a nova linha. Como posso voltar para a linha anterior?

    
por Ten-Coin 08.09.2012 / 08:49

2 respostas

1
O editor de linha de comando do

bash não suporta isso, faça como anwar sugere ou mantenha tudo em uma linha separado por ponto e vírgula ou coloque-o em um arquivo de script.

Em uma nota lateral, zsh possui recursos que ajudam nisso. O editor de linha zsh ( zle ) é um editor com mais recursos e suporta a movimentação dentro de um comando de várias linhas. Quando o comando se torna muito longo para manipular em zle , ele possui um recurso integrado, edit-command-line , que abre a linha de comando em seu editor favorito. Geralmente não é vinculado, tente com:

bindkey "^[e" edit-command-line

Alt-e deve agora ativá-lo, salvar e sair para voltar para a linha de comando.

    
por Thor 08.09.2012 / 12:13
1

Depois de pressionar Enter e receber uma mensagem de erro, basta voltar no histórico:

Basta pressionar a tecla do seu teclado para corrigir o erro. Se você pressionar a tecla , o terminal mostrará esta linha:

for i in {1..100..4}; do echo "august"; touch august $i+; mkdir;

Corrija a digitação errada em torno de touch august $i+ e adicione done no final do comando.

Em seguida, pressione a tecla Enter . Isso deve resolver seu problema.

    
por Anwar 08.09.2012 / 09:32