interpretando perto de teclas simultâneas Enter e backslash

0

Eu digitei um comando mv e pretendi acertar a tecla Enter . Talvez eu tenha acertado a tecla de barra invertida quase ao mesmo tempo. Se a chave Enter foi a primeira, a nova linha com o prompt verde deve aparecer à esquerda de (antes) da barra invertida. Em vez disso, a barra invertida está à esquerda do prompt verde.

Há uma segunda contra-barra e talvez inicie uma sequência de escape. Por que a cor do prompt mudou para branco quando minha cor de aviso usual é verde? Não tenho certeza se digitei a segunda barra invertida ou se é de alguma forma um "segundo eco errôneo".

A mudança de arquivo aconteceu com sucesso, mas essa consulta é apenas para verificar que nenhum arquivo estranho foi criado em lugares estranhos. "Mover" implica que um arquivo será movido para um lugar, então parece que não haverá um arquivo estranho criado.

    
por H2ONaCl 19.11.2017 / 05:08

2 respostas

1

Instead the backslash is to the left of the green prompt.

Como a barra invertida que você digitou foi impressa antes , o aviso foi emitido. E então o prompt foi enviado e a barra invertida que você digitou foi adicionada a ele.

Why did the color of the prompt change to white when my usual prompt color is green?

Como seu $PS1 é verde, mas seu $PS2 , que é exibido quando se espera pela conclusão da linha, não é. Quando a linha estiver concluída (porque uma barra invertida no final de uma linha continua a linha), o prompt retornará para $PS1 .

    
por 19.11.2017 / 05:27
0

Meu teste mostra que, se eu atingir as teclas Enter e barra invertida quase ao mesmo tempo, isso pode ser reproduzido. Assumindo que o teclado é bem "debounced" (link para informações sobre debouncing) então havia apenas uma única barra invertida digitada de fato existe um "segundo eco falso".

A chave de barra invertida (única) pode ser "excluída" por meio de backspace, mas apenas um dos dois ecos desaparecerá. O eco à direita do prompt verde desaparecerá quando o backspace for digitado. O eco à esquerda do prompt verde não pode ser removido. Aparentemente eu não "deletei" e continuei a usar a chave Enter novamente. O par backslash Enter é uma seqüência de continuação de linha que funciona dentro de scripts, mas aparentemente também interativamente. Como mencionado por @ IgnacioVazquez-Abrams, o prompt se torna aquele atribuído a linhas contínuas e, no meu caso, acontece que ele tem uma aparência diferente, que não é a mesma do meu prompt verde usual.

No meu teste, se backspace for usado para "excluir" a barra invertida (mesmo que apenas um dos dois ecos seja removido), não haverá continuação de linha. Isso é demonstrado usando o backspace para "excluir" a barra invertida e, em seguida, pressionando a tecla Enter . No meu teste, o prompt permaneceu verde, o que significa que não havia sequência de continuação de linha formada.

O comando mv não foi afetado pela contrabarra porque a tecla Enter foi pressionada ligeiramente antes da contrabarra. Prova disso é que a barra invertida aparece em uma nova linha (embora antes do prompt verde), o que significa que Enter , que ecoa como uma nova linha, aparentemente foi pressionado primeiro. Como o comando mv não foi afetado pela barra invertida, não serão criados arquivos inesperados.

Acredito que vi um comportamento semelhante ao usar ssh e estou digitando rapidamente. O host remoto não pode solicitar a senha em breve, de modo que parte da minha senha seja ecoada à esquerda do prompt de senha e também pode ser reproduzida à direita dela. Não me lembro se a senha é ofuscada em ambos os lugares ou apenas à direita do prompt.

    
por 19.11.2017 / 05:54