#!/bin/bash set -e tmpdir=$(mktemp -d) if [ ! -d $tmpdir ] ; then echo "Failed to create tmp directory" >&2 exit 0 fi tmpfile1=$(mktemp -p $tmpdir) if [ ! -w $tmpfile1 ] ; then echo "Failed to create tmp file" >&2 exit 0 fi tmpfile2=$(mktemp) if [ ! -w $tmpfile2 ] ; then echo "Failed to create tmp file" >&2 exit 0 fi # cleanup if aborted trap "rm -rf $tmpfile1 $tmpfile2 && rmdir $tmpdir" EXIT RULESET1="add table x" RULESET2="include \"$tmpdir/*\"" echo "$RULESET1" > $tmpfile1 echo "$RULESET2" > $tmpfile2 $NFT -f $tmpfile2 if [ $? -ne 0 ] ; then echo "E: unable to load good ruleset" >&2 exit 1 fi