Можно использовать встроенное ударом eval
сделать это:
#!/bin/bash
FRUITS="BANANA APPLE ORANGE"
BANANA_COLOUR="Yellow"
APPLE_COLOUR="Green or Red"
ORANGE_COLOUR="Blue"
for fruit in $( echo $FRUITS );
do
fruit_colour=${fruit}_COLOUR
eval echo $fruit is \$${fruit_colour}
done
Отметьте backslashed-знак-доллара. В основном, причины строки "оценки" bash
к substitue для $fruit
и ${fruit_color}
, затем использование eval
сделать второй раунд substition перед вызовом echo
.
Вы не можете использовать формирование для ограничения уровней входящего трафика. Для этого необходимо использовать управление на основе политик, и оно, возможно, ограничило эффективность.
Формирование управляет уровнем, на котором пакеты отосланы сетевой интерфейс. Правила Вы настроили выход сети управления.
Пакеты прибывают в любой уровень, который другой конец отправляет им. Управление на основе политик может помочь путем ограничения уровня, что пакеты питаются во входную очередь путем отбрасывания пакетов, которые превышают этот данный уровень. TCP должен затем скорректировать свой уровень отправки. Протоколы без управления перегрузкой (UDP и протоколы основываются на нем) не замедлятся, когда пакеты будут отброшены, таким образом управление на основе политик не будет иметь никакого эффекта на уровень отправителя.
Управление на основе политик с формированием трафика Linux сделано с входным фильтром. Запустите с http://lartc.org/howto/lartc.adv-qdisc.ingress.html.