Aggiungi la seguente riga al tuo script init.d.
run-parts --report /etc/iptables/include.d
Eseguirà tutto nella directory come uno script di shell (deve essere eseguibile).
Se vuoi eseguire solo file che terminano con .port potresti usare qualcosa come:
run-parts --regex '\.port$' /etc/iptables/include.d/
Se vuoi assicurarti che l'ordine sia corretto puoi nominare i file:
10_web.port
20_ssh.port
etc..
for f in /etc/iptables/include.d/*
. $f
done
nota lo spazio tra punto e %f
Saurabh ha ragione:questo non funzionerà necessariamente come intendi, ma usa alcune convenzioni di denominazione, ad esempio 10-xxx, 20-yyy e così via e potrebbe essere gestibile.
Puoi definire semplici funzioni in bash:
function include() {
for FILE in $( find "$1" -type f -print | sort )
do
source $FILE
done
}
e poi:
include some_dir/*
o anche:
include some_dir/*.conf