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