GNU/Linux >> Znalost Linux >  >> Linux

Spusťte všechny skripty prostředí ve složce

Použijte toto:

for f in *.sh; do
  bash "$f" 
done

Pokud chcete zastavit celé provádění, když skript selže:

for f in *.sh; do
  bash "$f" || break  # execute successfully or break
  # Or more explicitly: if this execution fails, then stop the `for`:
  # if ! bash "$f"; then break; fi
done

To, co chcete spustit, např. x1.sh , x2.sh , ..., x10.sh :

for i in `seq 1 10`; do
  bash "x$i.sh" 
done

Chcete-li zachovat kód ukončení neúspěšného skriptu (odpovídající na @VespaQQ):

#!/bin/bash
set -e
for f in *.sh; do
  bash "$f"
done

Existuje mnohem jednodušší způsob, můžete použít run-parts příkaz, který provede všechny skripty ve složce:

run-parts /path/to/folder

Linux
  1. Asociativní pole ve skriptech Shell?

  2. Sdílení proměnných ve více skriptech Shell?

  3. Jak spustit skript shellu na konzole Unix nebo terminálu Mac?

  1. Přizpůsobení prostředí Bash

  2. Zpracování chyb ve skriptech Bash

  3. Správné zamykání skriptů Shell?

  1. Spouštět skripty Shell přes web?

  2. Jak spouštět skripty Pythonu ze shellu

  3. Jak zopakovat nový řádek ve skriptech Bash Shell