Похоже, это модуль ядра Linux. Вероятно, вы не сможете скомпилировать или использовать код, связанный с модулем ядра Linux, во FreeBSD, поскольку он написан специально для Linux, а ядро Linux полностью отличается от ядра FreeBSD.
Короче говоря, в переводе нуждается не Makefile, а исходный код модуля ядра, который необходимо перенести во FreeBSD. Это нетривиальная задача, требующая знания как ядра Linux, так и ядра FreeBSD.
См. также Концептуальная разница между Linux и (Free )Ядро BSD
zsh
не поддерживает синтаксис typeset -A array([key]=value...)
из ksh
и bash
.
Вместо этого вы должны просто инициализировать ассоциативный массив, чередуя ключи и значения:
% declare -A map=(8761 "Eureka服务" 11001 "用户微服务")
% echo ${map[8761]}
Eureka服务
Как сказал дядя Билли, этот синтаксис не понимается zsh.
Тем не менее, поддержка была добавлена в zsh >= 5.5 (см. журнал изменений)и ваш фрагмент теперь работает.