Pour exécuter tous les scripts en même temps (en parallèle), utilisez:
script_1.sh &
script_2.sh &
script_3.sh &
script_4.sh &
script_5.sh &
Pour exécuter l'un après l'autre (séquentiellement), utilisez:
script_1.sh &&
script_2.sh &&
script_3.sh &&
script_4.sh &&
script_5.sh
Amélioration des commentaires
Si vous avez 200 scripts que vous souhaitez exécuter en même temps (ce qui pourrait enliser la machine BTW), utilisez ce script:
#!/bin/bash
for Script in my_folder/*.sh ; do
echo bash "$Script" &
done
Définissez les attributs de script sur exécutable avec la commande:
chmod a+x /path/to/script.sh
La première fois que vous exécutez le script, il ne fera écho que les noms des 200 scripts qu'il exécutera. Lorsque vous êtes satisfait des bons noms, modifiez le script et modifiez cette ligne:
echo bash "$Script" &
à:
bash "$Script" &
Il existe trois façons d'appeler un script bash à partir d'un autre, comme indiqué ici:
Rendez l'autre script exécutable, ajoutez la #!/bin/bash
ligne en haut et le chemin d'accès du fichier à la $PATH
variable d'environnement. Ensuite, vous pouvez l'appeler comme une commande normale;
Ou appelez-le avec la commande source (l'alias est.) Comme ceci source /path/to/script
:;
Ou utilisez la commande bash pour l' exécuter: /bin/bash /path/to/script
;
Dans le cas d'OP, un ou plusieurs des 200 scripts ne contenaient pas la #!/bin/bash
première ligne de shebang dans le fichier. En tant que telle, l'option 3. devait être utilisée.
200 scripts exécutés en même temps
Un commentaire a été soulevé quant à savoir s'ils "fonctionnent en même temps". Sur un système typique à 8 CPU, 25 scripts partageront un CPU en même temps, mais un seul script s'exécutera à la fois jusqu'à ce que sa tranche de temps (mesurée en millisecondes) s'épuise. Ensuite, le prochain travail recevra sa juste part de millisecondes, puis le prochain travail, etc., etc.
En termes vagues, nous pouvons dire que 200 travaux s'exécutent "simultanément" mais pas "simultanément" sur 8 processeurs, ce qui équivaut à 25 travaux par processeur:
Image ci-dessus et commentaires ci-dessous du planificateur du noyau Linux