Нет, удар не имеет анонимных функций. Однако возможно передать имя функции и аргументы, как строки и иметь удар называют его.
function wrap() {
do_before
"$@"
do_after
}
wrap do_something with_arguments
Это однако, несколько ограничено. Контакт с заключением в кавычки может стать проблемой. Передача больше чем одной команды является также сложностью.
Я думаю, их назначение в том, чтобы вы могли легче пинговать все маршрутизаторы или все хосты и т.д. без необходимости запоминать многоадресные адреса. Я не видел, чтобы они использовались где-либо еще.
Согласно по RFC 4291, раздел 2.7: Многоадресные адреса , первые 8 бит ( FF
в FF0X
) в начале идентифицируют адрес как muticast адрес.
флаги , следующие 4 бита (первый 0
в FF0X
) в вопросе указывают:
... постоянно- назначенный ("общеизвестный") адрес многоадресной рассылки, назначенный Internet Assigned Numbers Authority (IANA).
Следующие 4 бита (последнее шестнадцатеричное значение 0
или 2
в FF00
или FF02
) определяют область :
0 reserved
[...]
2 Link-Local scope
[...]
Область зарезервирована зарезервирована для использования в будущем.
Область Link-local означает, что пакеты в этой области никогда не будут маршрутизироваться и, следовательно, не могут покинуть подсеть.
Таким образом, эти данные означают следующее:
:: 1:
Это адрес обратной связи, чей IPv4-эквивалент - 127.0.0.1
. fe00 :: 0
: можно сравнить с адресным пространством класса E в IPv4, поэтому оно находится в зарезервированной области; зарезервировано для использования в будущем. ff02 :: 1
: Группа всех узлов IPv6 (включая маршрутизаторы) в области Link-local (аналогично широковещательному адресу подсети в IPv4: 192.168.x.255
]). ff02 :: 2
: Группа всех маршрутизаторов IPv6 в области Link-local (также похожа на широковещательную рассылку в IPv4, но ссылается только на маршрутизаторы). ff02 :: 3
: Это больше не существует и в данный момент не назначено. Ранее он обозначал группу всех хостов (за исключением маршрутизаторов) в области Link-local. Дополнительная литература / Ссылки :