GNU/Linux >> Tutoriels Linux >  >> Linux

Comment coller des codes bash multilignes dans le terminal et les exécuter en même temps ?

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 :

  1. Commençant par (

  2. Coller votre texte, et appuyer sur Entrée (pour le rendre joli)... ou pas

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


Linux
  1. Comment personnaliser les couleurs et le contenu de Bash dans l'invite du terminal Linux

  2. Comment enregistrer chaque commande tapée dans bash et chaque opération de fichier ?

  3. Rédaction de commentaires dans des scripts bash :commentaires sur une seule ligne, en ligne et multilignes

  4. Comment exécuter un script shell sur une console Unix ou un terminal Mac ?

  5. Comment compresser tous les fichiers de tous les sous-répertoires dans un fichier compressé dans bash

Comment copier et coller du texte dans le terminal Linux

Comment exécuter les commandes de fichier .sh tout en une fois sous Linux

Comment se connecter en SSH à un conteneur Docker et exécuter des commandes

Comment exécuter un script bash

Comment exécuter plusieurs commandes Linux à la fois dans le terminal Linux

Bash Scripting :comment générer et formater du texte sur le shell Linux