Si desea ver si hay algún directorio que coincida con ese patrón de nombre, podría find
imprimir una salida ficticia para ellos y ver si la salida estaba vacía. P.ej.:
if [[ "$(find -type d -name "dir*" -printf.)" ]] ; then
echo "some matching directory exists"
else
echo "no matching directory exists"
fi
También puede hacer que find
ejecute un comando para los archivos que encontró, simplemente agregando -exec bash -c '...' _ {} \;
después de -printf
. Si el comando no produce ningún resultado, debería estar bien.
Empeora un poco si necesita capturar la salida del comando iniciado por find
y mantenerla separada de la salida ficticia :, necesitará archivos temporales o trucos de redirección. Esto debería ejecutar somecmd
en cualquier directorio que coincida con find
, dirigiendo la salida de las ejecuciones somecmd
a la salida estándar de los scripts, y luego informarle si hubo alguna coincidencia.
exec 3>&1
any=$(find -type d -name "dir*" -printf. -exec bash -c 'somecmd "$1" >&3' _ {} \; )
if [[ "$any" ]] ; then
echo "matching directories were processed"
else
echo "no matching directory exists"
fi
exec 3>&-
Por supuesto, si el comando iniciado porfind
siempre produce salida, no hay necesidad de la salida ficticia. Simplemente capture lo que find
imprima y vea si estaba vacío.
Вы можете добавить фильтр, который будет сопоставлять этот IP-адрес с пустым действием , которое будет классифицировать пакет как «проходной» без прохождения дополнительных фильтров. Поскольку без указания приоритета порядок не может быть угадан, оба фильтра должны иметь приоритет (, также известный как приоритет или приоритет ). Поэтому, если вы хотите избавить IP 192.0.2.10 от ограничения скорости, вы можете заменить свой фильтр этими двумя:
tc filter add dev eth1 parent ffff: protocol ip priority 1 \
u32 match ip src 192.0.2.10 action pass
tc filter add dev eth1 parent ffff: protocol ip priority 2 \
u32 match ip sport 22 0xffff action police rate 800kbit burst 24000 drop flowid :1
Обратите внимание, что полиция также является действием, но ключевое слово action является необязательным (, в то время как оно должно быть указано для пустого действия только с опцией pass ).
Кроме того, если это все еще подходит для этого случая, следует рассмотреть возможность использования формирования (задержки перед отбрасыванием )исходящего трафика, а не (отбрасывание только )входящего трафика :это, вероятно, улучшит производительность (и позволит избежать дублирования пакетов в сети из-за отбрасывания ).