Correcto, esta es una característica un poco molesta porque algo sucede y otras veces no es muy extraño.
Pego un comando en el terminal con el fin de ajustar sus argumentos, y a veces ejecuta el segundo que lo pego. A veces no.
Esto va desde vergonzoso (publicar comentarios sin sentido en un IRC) hasta peligroso.
¿Cómo puedo desactivar esta función para siempre? Nunca, nunca, nunca quiero que el terminal se ejecute automáticamente cuando lo pegue.
command-line
Starkers
fuente
fuente
oh-my-zsh
o cualquier otro reemplazo de terminal.Respuestas:
No hay ejecución automática. Probablemente también esté copiando un salto de línea (o más) después del comando.
Si pega un comando con un salto, el shell (línea de comando) piensa que usted mismo presiona el botón de descanso (Entrar, Volver).
Esta respuesta solo explica por qué OP está obteniendo el comportamiento no deseado. Sin embargo, en otra respuesta, hay una solución real al problema del OP.
fuente
Una solución real es abrir el modo de edición
ctrl-x ctrl-e
y luego pegar de forma segura su portapapeles en el editor de su elección (comúnmente emacs o vim). Una vez que haya terminado de editar el comando, guarde y salga y se ejecutará en la línea de comando. Este es un buen hábito para comandos largos o complejos, especialmente al pegar hashes de confirmación en comandos git, y puede ayudarlo a evitar algunos resultados a largo plazo.El editor se puede cambiar configurando las variables VISUAL y EDITOR (estas tienen diferentes significados, ver aquí ).
fuente
Antes de pegar, escriba un # y luego pegue su línea. No se ejecutará y puede eliminar el # y presionar enter cuando se hayan completado las modificaciones.
fuente
true
AKA:
, que es básicamente un comando no operativo.$?
) ...true
no es realmente un nop, devuelve el estado de salida 0. Un comentario, por otro lado, se ignora por completo y, por lo tanto, no lo hará. Alter$?
.