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:
-
A partire da
(
-
Incollare il testo e premere Invio (per renderlo carino)... oppure no
-
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.