GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Führen Sie alle Shell-Skripte im Ordner aus

Verwenden Sie dies:

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

Wenn Sie die gesamte Ausführung stoppen möchten, wenn ein Skript fehlschlägt:

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

Wenn Sie ausführen möchten, z. B. x1.sh , x2.sh , ..., x10.sh :

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

Um den Exit-Code eines fehlgeschlagenen Skripts beizubehalten (als Antwort auf @VespaQQ):

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

Es gibt einen viel einfacheren Weg, Sie können den run-parts verwenden Befehl, der alle Skripte im Ordner ausführt:

run-parts /path/to/folder

Linux
  1. Shell-Skripte über eine Website ausführen?

  2. Gemeinsame Nutzung von Variablen über mehrere Shell-Skripte hinweg?

  3. So echoen Sie eine neue Zeile in Bash-Shell-Skripten

  4. Wie führe ich ein Shell-Skript auf einer Unix-Konsole oder einem Mac-Terminal aus?

  5. Führen Sie den Bash-Befehl auf der Jenkins-Pipeline aus

Kommentare in Bash-Skripten schreiben

.bashrc vs. .bash_profile

So führen Sie alle Skripte in einem Verzeichnis unter Linux aus

Shell-Scripting für Anfänger – So schreiben Sie Bash-Scripts unter Linux

So führen Sie ein Bash-Skript aus

Arrays in Shell-Skripten