GNU/Linux >> Linux の 問題 >  >> Linux

ディレクトリのすべてのファイルをシェル スクリプトに含める方法 (この場合は /etc/init.d/iptables)

次の行を init.d スクリプトに追加します。

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

ディレクトリ内のすべてをシェル スクリプトとして実行します (実行可能である必要があります)。

.port で終わるファイルのみを実行したい場合は、次のようなものを使用できます:

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

順序が正しいことを確認したい場合は、ファイルに名前を付けることができます:

10_web.port
20_ssh.port
etc..

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

ドットと %f の間のスペースに注意してください

Saurabh の言うとおりです。これは意図したとおりに機能する必要はありませんが、10-xxx、20-yyy などの命名規則を使用すると、管理しやすい場合があります。


bash で簡単な関数を定義できます:

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

次に:

include some_dir/*

または:

include some_dir/*.conf

Linux
  1. CentOS / RHEL 6 で /etc/shadow および/または /etc/passwd ファイルの削除されたルート エントリから復元する方法

  2. grpck コマンド – /etc/group および /etc/gshadow ファイル内の破損したエントリまたは重複したエントリを削除します。

  3. プロセスが実行されているフォルダーを見つける方法は?

  1. /etc/passwd はグループ内のユーザーを表示しますが、/etc/group は表示しません

  2. etc ディレクトリの chmod を元に戻すにはどうすればよいですか?

  3. /home、/usr、/var などのディレクトリがすべて同じ inode 番号 (2) を持っているのはなぜですか?

  1. /etc/hosts と /etc/resolv.conf の違い

  2. /etc/issues をセットアップして eth0 の IP アドレスを表示する方法

  3. /etc/hosts をシェルスクリプトから変更するには?