Si vous appuyez sur C-x C-e
commande qui ouvrira votre éditeur par défaut qui a défini .bashrc
, après cela, vous pouvez utiliser toutes les fonctionnalités puissantes de votre éditeur. Lorsque vous enregistrez et quittez, les lignes attendront votre entrée.
Si vous souhaitez définir votre éditeur, écrivez simplement pour Ex. EDITOR=emacs -nw
ou EDITOR=vi
à l'intérieur de ~/.bashrc
Essayez de mettre \
à la fin de chaque ligne avant de la copier.
Exemple :
echo "Hello world" && \
script_b.sh
echo $?
Le code de sortie ($?
) est maintenant la séquence complète de commandes, et pas seulement la dernière commande.
Je suis vraiment surpris que cette réponse ne soit pas proposée ici, j'étais à la recherche d'une solution à cette question et je pense que c'est l'approche la plus simple, et la plus flexible/indulgente...
Si vous souhaitez coller plusieurs lignes d'un site Web/éditeur de texte/etc., dans bash, qu'il s'agisse de commandes par ligne, d'une fonction ou d'un script entier... commencez simplement par un (
et terminez par un )
et Enter, comme dans l'exemple suivant :
Si j'avais le blob suivant
function hello {
echo Hello!
}
hello
Vous pouvez coller et vérifier dans un terminal à l'aide de bash en :
-
Commençant par
(
-
Coller votre texte, et appuyer sur Entrée (pour le rendre joli)... ou pas
-
Se terminant par un
)
et en appuyant sur Entrée
Exemple :
imac:~ home$ ( function hello {
> echo Hello!
> }
> hello
> )
Hello!
imac:~ home$
Le texte collé se poursuit automatiquement avec un préfixe >
pour chaque ligne. J'ai testé avec plusieurs lignes avec des commandes par ligne, des fonctions et des scripts entiers. J'espère que cela aidera les autres à gagner du temps !
En plus de la barre oblique inverse, si une ligne se termine par |
ou &&
ou ||
, il se poursuivra sur la ligne suivante.