Přidejte následující řádek do skriptu init.d.
run-parts --report /etc/iptables/include.d
Spustí vše v adresáři jako shell skript (musí být spustitelný).
Pokud chcete spouštět pouze soubory, které končí příponou .port, můžete použít něco jako:
run-parts --regex '\.port$' /etc/iptables/include.d/
Pokud se chcete ujistit, že je pořadí správné, můžete soubory pojmenovat:
10_web.port
20_ssh.port
etc..
for f in /etc/iptables/include.d/*
. $f
done
mezera mezi tečkou a %f
Saurabh má pravdu - nebude to nutně fungovat, jak zamýšlíte, ale použijte nějakou konvenci pojmenování, např. 10-xxx, 20-yyy a tak dále a mohlo by to být zvládnutelné.
V bash můžete definovat jednoduchou funkci:
function include() {
for FILE in $( find "$1" -type f -print | sort )
do
source $FILE
done
}
a poté:
include some_dir/*
nebo dokonce:
include some_dir/*.conf