Parar a execução automática do terminal ao colar um comando


27

Certo, esse é um recurso um pouco irritante, porque algo acontece e, outras vezes, não é muito estranho.

Eu colo um comando no terminal com o objetivo de ajustar seus argumentos e, às vezes, ele executa o segundo em que o colo. Às vezes não.

Isso varia de embaraçoso (postar comentários sem sentido em um IRC) a perigoso.

Como posso desligar esse recurso definitivamente? Eu nunca, nunca, nunca quero que o terminal seja executado automaticamente quando colo nele.


pode ser interessante - bbs.archlinux.org/viewtopic.php?id=95548 , também as pessoas fizeram explorações ocultando o conteúdo em uma cópia / pasta reddit.com/r/linux/comments/1bv54e/…
Mateo

1
Uau, um recurso deve ser incorporado ao Ubuntu para impedir isso. Quando você gostaria de colar um retorno de carro no terminal?
quer

uma das soluções seria usar algo como oh-my-zshou qualquer outra substituição de terminal.
Pramesh Bajracharya

Respostas:


28

Não há execução automática. Você provavelmente também está copiando uma quebra de linha (ou mais) após o comando.

Se você colar um comando com uma quebra, o shell (linha de comando) pensará que você pressionou o botão de quebra (Enter, Return) sozinho.


Esta resposta explica apenas por que o OP está recebendo o comportamento indesejado. No entanto, em outra resposta, há uma solução real para o problema do OP.


5
É verdade, mas a questão é como pará-lo, se possível :)
Pawel Cioch

1
Uma correção para Putty, pelo menos, serverfault.com/questions/731022/…
Pawel Cioch

13

Uma solução real é abrir o modo de edição ctrl-x ctrl-ee colar com segurança a área de transferência no seu editor de escolha (geralmente emacs ou vim). Após concluir a edição do comando, salve e saia e ele será executado na linha de comando. Esse é um bom hábito para comandos longos ou complexos, especialmente ao colar hashes de confirmação em comandos git, e pode ajudar a evitar alguns resultados assustadores a longo prazo.

O editor pode ser alterado definindo as variáveis ​​VISUAL e EDITOR (elas têm significados diferentes, veja aqui ).


wow, há sempre algo a aprender depois de décadas de uso do Linux :) Obrigado, essa é a única resposta que realmente resolve o problema
törzsmókus

Parece que pode funcionar para um terminal linux real, mas infelizmente isso não é útil para usuários do PuTTY. Alguma outra alternativa?
Codesmith

1
@Codesmith Eu acredito que o comentário de Pawel Chioch na resposta aceita pode ser útil para você: serverfault.com/questions/731022/...
borrascador

1
Bom ponto @borrascador! Não tenho certeza de como eu perdi isso. Obrigado! :)
Codesmith

5

Antes de colar, digite um # e cole sua linha. Ele não será executado e você poderá remover o # e pressionar enter quando as modificações forem concluídas.


Você também pode usar o trueAKA :, que é basicamente um comando não operacional.
wjandrea

1
@WJAndrea Eu diria que isso é menos aconselhável, uma vez que eliminará o status de saída ( $?) ... truenão é realmente um nop, ele retorna o status de saída 0. Um comentário, por outro lado, é totalmente ignorado e, portanto, não será alterar $?.
Brhfl

4
isso apenas interrompe a execução da primeira linha . se OP colar um texto com pelo menos duas quebras de linha, elas serão parafusadas novamente.
törzsmókus
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.