GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo pego códigos bash de varias líneas en la terminal y los ejecuto todos a la vez?

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:

  1. Comenzando con (

  2. Pegar tu texto y presionar Enter (para hacerlo bonito)... o no

  3. 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.


Linux
  1. Cómo personalizar los colores y el contenido de Bash en el indicador de terminal de Linux

  2. ¿Cómo registrar cada comando escrito en Bash y cada operación de archivo?

  3. Escribir comentarios en Bash Scripts:comentarios de una sola línea, en línea y de varias líneas

  4. Cómo gzip todos los archivos en todos los subdirectorios en un archivo comprimido en bash

  5. ¿Cómo ejecuto múltiples comandos en segundo plano en bash en una sola línea?

Cómo copiar y pegar texto en la terminal de Linux

Cómo ejecutar comandos de archivo .sh todo a la vez en Linux

Cómo usar SSH en un contenedor Docker y ejecutar comandos

Cómo ejecutar un script Bash

Cómo ejecutar varios comandos de Linux a la vez en la terminal de Linux

Bash Scripting:cómo generar y formatear texto en Linux Shell