独自の bash スクリプトで管理する大きな iptables ルールセットがあります。スクリプト内のコマンドのほとんどは、単純な単一ステートメントの iptables コマンドです。スクリプトの実行時に成功/失敗の出力を追加して、スクリプトを改善しようとしています。
スクリプトをさまざまなセクションに分割しました。1 つの例は、すべてのルールが FORWARD チェーンに適用される FORWARD チェーン セクションです。セクションの最初に、スクリプトが FORWARD ルールの適用を開始したことを出力し、最後に、すべてのルールが正常に適用されたかどうか、またはいずれかが機能しなかったかどうかを出力します。基本的な考え方は次のとおりです。
#Start FORWARD section
echo -ne "Applying FORWARD rules..."
#rule 1
/sbin/iptables -A FOWRARD...
#rule 2
/sbin/iptables -A FORWARD...
echo -ne "\t\t\t[OK]\n"
私がやりたいのは、各 iptables コマンドから生じる可能性のある出力またはエラーをキャッチし、それらを配列などに格納することです。次に、ブロックの最後で if ステートメントを使用して配列を評価し、エラーがないかどうかを確認します。そうでない場合は [OK] ステータスを出力し、ある場合は [FAILED] ステータスを出力し、関連するエラーを表示します。
各 iptables ルールを if [ $ でラップせずに、ルールのブロック全体に対してこれを行う方法はありますか? != 0 ] 式?