150 votes

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

Je dois coller un code bash multiligne dans le terminal, mais chaque fois que je le fais, chaque ligne est exécutée en tant que commande distincte dès qu'elle est collée.

139voto

opsguy Points 1591

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.

50voto

itirazimvar Points 709

Si vous appuyez sur la commande C-x C-e qui ouvrira votre éditeur par défaut qui a défini .bashrc , vous pourrez ensuite 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 intérieur de ~/.bashrc

20voto

glenn jackman Points 69748

En plus de la barre oblique inverse, si une ligne se termine par | ou && ou || , elle se poursuivra sur la ligne suivante.

20voto

abrkn Points 412

Ajoutez des parenthèses autour des lignes. Exemple:

 $ (
sudo apt-get update
dokku apps
dokku ps:stop APP # repeat to shut down each running app
sudo apt-get install -qq -y dokku herokuish sshcommand plugn
dokku ps:rebuildall # rebuilds all applications
)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X