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

So schließen Sie alle Dateien aus einem Verzeichnis in Shell-Skript ein (in diesem Fall /etc/init.d/iptables)

Fügen Sie Ihrem init.d-Skript die folgende Zeile hinzu.

run-parts --report /etc/iptables/include.d

Es wird alles im Verzeichnis als Shell-Skript ausführen (muss ausführbar sein).

Wenn Sie nur Dateien ausführen möchten, die mit .port enden, können Sie Folgendes verwenden:

run-parts --regex '\.port$' /etc/iptables/include.d/

Wenn Sie sicherstellen möchten, dass die Reihenfolge korrekt ist, können Sie die Dateien benennen:

10_web.port
20_ssh.port
etc..

for f in /etc/iptables/include.d/*
 . $f
done

Beachten Sie das Leerzeichen zwischen Punkt und %f

Saurabh hat recht - das wird nicht unbedingt so funktionieren, wie Sie es beabsichtigen, aber verwenden Sie eine Namenskonvention, zB 10-xxx, 20-yyy und so weiter, und es könnte überschaubar sein.


Sie können einfache Funktionen in bash definieren:

function include() {
    for FILE in $( find "$1" -type f -print | sort )
    do
        source $FILE
    done
}

und dann:

include some_dir/*

oder sogar:

include some_dir/*.conf

Linux
  1. Wie wird /etc/motd aktualisiert?

  2. So stellen Sie gelöschte Root-Einträge in /etc/shadow- und/oder /etc/passwd-Dateien in CentOS / RHEL 6 wieder her

  3. Befehl grpck – Entfernen Sie beschädigte oder doppelte Einträge in den Dateien /etc/group und /etc/gshadow.

  4. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

  5. /etc/passwd zeigt Benutzer in einer Gruppe an, /etc/group jedoch nicht

Der richtige Weg zum Bearbeiten von /etc/passwd- und /etc/group-Dateien unter Linux

CentOS / RHEL 7 :So stellen Sie gelöschte Root-Einträge in /etc/shadow- und/oder /etc/passwd-Dateien wieder her

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Wie kann ich ein chmod im etc-Verzeichnis zurücksetzen?

Unterschied zwischen /etc/hosts und /etc/resolv.conf

So richten Sie /etc/issues ein, um die IP-Adresse für eth0 anzuzeigen