URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 1168
[ Назад ]

Исходное сообщение
"Не могу добавить правило в rc.firewall.идеть ругань"

Отправлено Gannimed , 17-Фев-04 14:16 
Привет.
Есть два правила,которые прекрасно работают когда я их добавляю с консоли
ipfw add 05210 allow tcp from any to any 1255 via xl0
ipfw add 05220 allow tcp from any 1255 to any via xl0.
Но мне надо их добавить в rc.firewall.
Я добавляю эти строчки после правила 05200
$(fwcmd) add allow tcp from any to any 1255 via $(oif)
$(fwcmd) add allow tcp from any 1255 to any via $(oif)
А при запуске sh /etc/rc.firewall система пишет,что после 05200
fwcmd:not found
oif:not found
add:not found
Дальше идет все нормально. Помогите. Что я не так делаю?

Содержание

Сообщения в этом обсуждении
"Не могу добавить правило в rc.firewall.идеть ругань"
Отправлено igrbily , 17-Фев-04 17:58 
Синтаксис проверь - вместо () надо {} :)

"Не могу добавить правило в rc.firewall.идеть ругань"
Отправлено Gannimed , 17-Фев-04 18:27 
>Синтаксис проверь - вместо () надо {} :)


Спасибо!! Заработало. Вот блин,трудно разобрать,скобки это или ковычки


"Не могу добавить правило в rc.firewall.идеть ругань"
Отправлено .zZz. , 17-Фев-04 18:31 
>Привет.
>Есть два правила,которые прекрасно работают когда я их добавляю с консоли
>ipfw add 05210 allow tcp from any to any 1255 via xl0
>
>ipfw add 05220 allow tcp from any 1255 to any via xl0.
>
>Но мне надо их добавить в rc.firewall.
>Я добавляю эти строчки после правила 05200
>$(fwcmd) add allow tcp from any to any 1255 via $(oif)
>$(fwcmd) add allow tcp from any 1255 to any via $(oif)
>А при запуске sh /etc/rc.firewall система пишет,что после 05200
>fwcmd:not found
>oif:not found
>add:not found
>Дальше идет все нормально. Помогите. Что я не так делаю?

Вообщем, чтобы понимал суть вещей:
в rc.firewall по умолчанию, если глянешь, есть строчки в начале, типа
fwcmd="/sbin/ipfw"

согласно правилам синтаксиса sh (а rc.firewall является именно sh-скриптом) чтобы получить содержимое переменной надо впаять $ перед ней
согласно этим же правилам (относится также и ко многим другим скриптовым языкам) фигурные скобки, ограничивают имя переменной чтобы не вышло мяса.