Возможно, вам подойдет что-то вроде следующего:
function work() {
echo "${1#work}"
}
function err_work() {
[ "${1#work}" != "$1" ] && work $*
}
trap "err_work \$BASH_COMMAND" ERR
Функция err_work
затем вызывается для всех ошибок команды, чтобы обнаружить, что сбойная команда начинается с «работы», и, таким образом, вызывает функцию work
без окончания вместо этого с исходной командной строкой в качестве аргументов.
Конечно, bash будет жаловаться на начальную команду перед вызовом ловушки, так что это будет выглядеть немного некрасиво; возможно, есть способ отключить это, хотя я не нашел
Конечно, мой друг
Если ввести:
Iptables -L -v
Затем появится подробный список с дополнительной информацией, в которой вы (я )могу увидеть, на какой сетевой интерфейс влияет каждое правило..
Лично мне больше всего нравится iptables-save -c
, потому что он имеет тот же формат, в котором вы его ввели изначально. -c
добавляет счетчики впереди, чтобы вы могли видеть, сколько раз правило совпало. Полезно при диагностике проблем.