GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso incollare codici bash multilinea nel terminale ed eseguirlo tutto in una volta?

Se premi C-x C-e comando che aprirà il tuo editor predefinito che definisce .bashrc , dopodiché puoi utilizzare tutte le potenti funzionalità del tuo editor. Quando salvi ed esci, le linee aspetteranno il tuo ingresso.

Se vuoi definire il tuo editor, scrivi semplicemente per Ex. EDITOR=emacs -nw o EDITOR=vi all'interno di ~/.bashrc


Prova a inserire \ alla fine di ogni riga prima di copiarla.

Esempio:

echo "Hello world" && \
script_b.sh

echo $?

Il codice di uscita ($? ) è ora l'intera sequenza di comandi, e non solo l'ultimo comando.


Sono davvero sorpreso che questa risposta non sia stata offerta qui, ero alla ricerca di una soluzione a questa domanda e penso che questo sia l'approccio più semplice e più flessibile/indulgente...

Se desideri incollare più righe da un sito Web/editor di testo/ecc., in bash, indipendentemente dal fatto che si tratti di comandi per riga o di una funzione o di un intero script... inizia semplicemente con un ( e termina con un ) e Invio, come nell'esempio seguente:

Se avessi il seguente blob

function hello {
    echo Hello!
}
hello

Puoi incollare e verificare in un terminale usando bash tramite:

  1. A partire da (

  2. Incollare il testo e premere Invio (per renderlo carino)... oppure no

  3. Termina con un ) e premendo Invio

Esempio:

imac:~ home$ ( function hello {
>     echo Hello!
> }
> hello
> )
Hello!
imac:~ home$ 

Il testo incollato continua automaticamente con un > preceduto per ogni riga. Ho provato con più righe con comandi per riga, funzioni e interi script. Spero che questo aiuti gli altri a risparmiare un po' di tempo!


Oltre alla barra rovesciata, se una riga termina con | o && o || , continuerà nella riga successiva.


Linux
  1. Come personalizzare i colori e il contenuto di Bash nel prompt del terminale Linux

  2. Come registrare ogni comando digitato in Bash e ogni operazione su file?

  3. Scrivere commenti negli script Bash:commenti a riga singola, in linea e a più righe

  4. Come eseguire uno script di shell su una console Unix o un terminale Mac?

  5. Come eseguo più comandi in background in bash in una singola riga?

Come copiare e incollare testo nel terminale Linux

Come eseguire i comandi del file .sh tutto in una volta in Linux

Come eseguire SSH in un contenitore Docker ed eseguire comandi

Come eseguire uno script Bash

Come eseguire più comandi Linux contemporaneamente nel terminale Linux

Bash Scripting:come generare e formattare il testo su Linux Shell