Linha de comando vazia bash

4

Estou procurando uma maneira de excluir a linha de comando inserida no momento sem desperdiçar segundos na tecla Backspace .

Por exemplo, eu rolei o histórico bash e tenho uma longa linha de comando que seria executada quando eu pressionasse Enter :

~$ aptitude search openssl | grep dev

Mas agora decido que não quero executar este comando. Posso obter um prompt vazio rápido sem excluir a linha inteira com Backspace ? No Windows cmd você pode simplesmente pressionar Escape e ele desaparece. Esse comportamento seria o que eu quero.

    
por vobject 28.09.2010 / 10:24

2 respostas

7

Pressionar Ctrl + U irá esvaziar a linha atual.

É o caractere kill padrão na maioria dos terminais e apaga a linha atual (do cursor ao seu início). O comando stty pode ser usado para obter ou definir valor.

[dave@hal9000 ~]$ stty -a
speed 38400 baud; rows 23; columns 75; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?;
eol2 = M-^?; swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
...
[dave@hal9000 ~]$ stty kill ^T # Set it to Ctrl-T

Seja o caminho, werase significa word erase, então Ctrl + W apaga a palavra à esquerda do cursor.

    
por 28.09.2010 / 10:34
2

Pressione Ctrl + C para cancelar o comando que você está digitando e volte para um prompt simples.

Esta é uma chave comum em aplicativos no modo texto unix:

  • em programas não interativos, Ctrl + C geralmente pára completamente o programa e retorna a um prompt;
  • em programas interativos que executam um comando por vez (como shells), Ctrl + C geralmente retorna ao prompt de comando principal.
por 29.09.2010 / 00:27