Arresta l'esecuzione automatica del terminale quando si incolla un comando


27

Bene, questa è una caratteristica leggermente fastidiosa perché succede qualcosa, e altre volte no, molto strano.

Ho incollato un comando nel terminale al fine di modificarne gli argomenti, e talvolta esegue il secondo incollo. A volte no.

Ciò varia da imbarazzante (pubblicare commenti senza senso su un IRC) a pericoloso.

Come posso disattivare questa funzione per sempre? Non voglio mai, mai, mai eseguire automaticamente il terminale quando lo incollo.


potrebbe essere interessante - bbs.archlinux.org/viewtopic.php?id=95548 , anche le persone hanno fatto exploit nascondendo il contenuto in una copia / incolla reddit.com/r/linux/comments/1bv54e/…
Mateo

1
Wow, una funzionalità dovrebbe essere integrata in Ubuntu per fermarlo. Quando vorresti mai incollare un ritorno a capo nel terminal?
Starkers,

una delle soluzioni sarebbe utilizzare qualcosa di simile oh-my-zsho qualsiasi altro sostituto del terminale.
Pramesh Bajracharya,

Risposte:


28

Non c'è esecuzione automatica. Probabilmente stai anche copiando un'interruzione di riga (o più) dopo il comando.

Se si incolla un comando con un'interruzione, la shell (riga di comando) pensa di aver premuto il pulsante di interruzione (Enter, Return) da soli.


Questa risposta spiega solo perché OP sta ottenendo il comportamento indesiderato. Tuttavia, in un'altra risposta, esiste una vera soluzione al problema del PO.


5
È vero, ma la domanda è come fermarlo se possibile :)
Pawel Cioch,

1
Una correzione per Putty almeno serverfault.com/questions/731022/…
Pawel Cioch,

13

Una vera soluzione è aprire la modalità di modifica con ctrl-x ctrl-ee quindi incollare in modo sicuro i tuoi appunti nel tuo editor preferito (comunemente emacs o vim). Dopo aver completato la modifica del comando, salva ed esci e verrà eseguito nella riga di comando. Questa è una buona abitudine per comandi lunghi o complessi, specialmente quando si incollano hash di commit in comandi git e può aiutarti a evitare alcuni risultati spaventosi a lungo termine.

L'editor può essere modificato impostando le variabili VISUAL ed EDITOR (che hanno significati diversi, vedi qui ).


wow, c'è sempre qualcosa da imparare dopo decenni di utilizzo di linux :) grazie, questa è l'unica risposta che risolve effettivamente il problema
törzsmókus

Sembra che potrebbe funzionare per un vero terminale Linux, ma sfortunatamente questo non è utile per gli utenti di PuTTY. Altre alternative?
Codesmith,

1
@Codesmith Credo che il commento di Pawel Chioch sulla risposta accettata possa esserti utile: serverfault.com/questions/731022/…
borrascador

1
Buon punto @borrascador! Non sono sicuro di come mi sia perso. Grazie! :)
Codesmith,

5

Prima di incollare digitare un # quindi incollare la linea. Non verrà eseguito e sarà possibile rimuovere il # e premere invio una volta completate le modifiche.


Puoi anche usare trueAKA :, che è fondamentalmente un comando no-op.
wjandrea,

1
@WJAndrea Direi che questo è meno consigliabile poiché bloccherà lo stato di uscita ( $?) ... truenon è proprio un nop, restituisce lo stato di uscita 0. Un commento, d'altra parte, è completamente ignorato e quindi non lo farà Alter $?.
brhfl,

4
questo fermerà solo l' esecuzione della prima riga . se OP incolla un testo con almeno due interruzioni di riga, vengono nuovamente avvitati.
törzsmókus,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.