Ajoutez la ligne suivante à votre script init.d.
run-parts --report /etc/iptables/include.d
Il exécutera tout dans le répertoire en tant que script shell (doit être exécutable).
Si vous souhaitez uniquement exécuter des fichiers qui se terminent par .port, vous pouvez utiliser quelque chose comme :
run-parts --regex '\.port$' /etc/iptables/include.d/
Si vous voulez vous assurer que la commande est correcte, vous pouvez nommer les fichiers :
10_web.port
20_ssh.port
etc..
for f in /etc/iptables/include.d/*
. $f
done
notez l'espace entre le point et %f
Saurabh a raison - cela ne fonctionnera pas nécessairement comme vous le souhaitez, mais utilisez une convention de dénomination, par exemple 10-xxx, 20-aaa, etc., et cela pourrait être gérable.
Vous pouvez définir une fonction simple dans bash :
function include() {
for FILE in $( find "$1" -type f -print | sort )
do
source $FILE
done
}
puis :
include some_dir/*
ou encore :
include some_dir/*.conf