GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo incluir todos los archivos de un directorio en el script de shell (/etc/init.d/iptables en este caso)

Agregue la siguiente línea a su script init.d.

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

Ejecutará todo en el directorio como un script de shell (debe ser ejecutable).

Si solo desea ejecutar archivos que terminan en .port, puede usar algo como:

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

Si quiere asegurarse de que el orden es correcto, puede nombrar los archivos:

10_web.port
20_ssh.port
etc..

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

observe el espacio entre el punto y %f

Saurabh tiene razón:esto no funcionará necesariamente como usted pretende, pero use alguna convención de nomenclatura, por ejemplo, 10-xxx, 20-yyy, etc., y podría ser manejable.


Puede definir una función simple en bash:

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

y luego:

include some_dir/*

o incluso:

include some_dir/*.conf

Linux
  1. ¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

  2. ¿Cómo saber desde qué carpeta se está ejecutando un proceso?

  3. /etc/passwd muestra al usuario en un grupo, pero /etc/group no

  4. ¿Cómo puedo revertir un chmod en el directorio etc?

  5. ¿Por qué los directorios /home, /usr, /var, etc. tienen todos el mismo número de inodo (2)?

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

¿La diferencia entre ~/.profile, ~/.bashrc, ~/.bash_profile, ~/.gnomerc, /etc/bash_bashrc, /etc/screenrc...?

CentOS / RHEL 7:cómo recuperarse de una entrada raíz eliminada en archivos /etc/shadow y/o /etc/passwd

Cómo recuperarse de una entrada raíz eliminada en archivos /etc/shadow y/o /etc/passwd en CentOS / RHEL 6

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

Cómo configurar /etc/issues para mostrar la dirección IP de eth0