Si presionas C-x C-e comando que abrirá su editor predeterminado que definió .bashrc , después de eso, puede usar todas las potentes funciones de su editor. Cuando guarde y salga, las líneas esperarán su entrada.
Si desea definir su editor, simplemente escriba para Ex. EDITOR=emacs -nw o EDITOR=vi dentro de ~/.bashrc
Intenta poner \ al final de cada línea antes de copiarla.
Ejemplo:
echo "Hello world" && \
script_b.sh
echo $?
El código de salida ($? ) es ahora la secuencia completa de comandos, y no solo el último comando.
Estoy realmente sorprendido de que esta respuesta no se ofrezca aquí, estaba buscando una solución a esta pregunta y creo que este es el enfoque más fácil y más flexible/perdonador...
Si desea pegar varias líneas desde un sitio web/editor de texto/etc., en bash, independientemente de si se trata de comandos por línea o una función o secuencia de comandos completa... simplemente comience con un ( y terminar con un ) y Enter, como en el siguiente ejemplo:
Si tuviera el siguiente blob
function hello {
echo Hello!
}
hello
Puede pegar y verificar en una terminal usando bash por:
-
Comenzando con
( -
Pegar tu texto y presionar Enter (para hacerlo bonito)... o no
-
Terminando con un
)y presionando Entrar
Ejemplo:
imac:~ home$ ( function hello {
> echo Hello!
> }
> hello
> )
Hello!
imac:~ home$
El texto pegado continúa automáticamente con un prefijo > para cada línea. He probado con varias líneas con comandos por línea, funciones y scripts completos. ¡Espero que esto ayude a otros a ahorrar algo de tiempo!
Además de la barra invertida, si una línea termina con | o && o || , continuará en la siguiente línea.