Ключ в том, что таблицы группируют вещи по замыслу проекта . Все ваши правила, предназначенные для фильтрации, находятся здесь, все ваши правила NAT там. Цепочки - это последовательности правил, а цепочки по умолчанию проходят в определенных точках на пути пакета.
Теоретически вы можете добавить правило, которое выполняет фильтрацию, скажем, для таблицы NAT. Но внешний интерфейс не позволяет вам сделать это с сообщением типа
. Таблица "nat" не предназначена для фильтрации, поэтому использование DROP запрещено.
Я думаю, что на самом деле речь идет о цепочках, а таблицы - это нечто вроде запоздалой мысли, чтобы помочь вам организовать их. Это сбивает с толку, потому что это специальный, исторически сложившийся дизайн пользовательского интерфейса.
bash
не имеет foreach
; этот сценарий, вероятно, предназначен для запуска в csh
или tsch
. Если вы вызываете сценарий с ./ myscript.csh
, убедитесь, что его первая строка - #! / Bin / csh
(или любой другой полный путь к этой оболочке в вашей системе ).
Это скрипт csh
. Проверьте, является ли он исполняемым, иначе выполните chmod u + x settings64.csh
и запустите его либо с ./ settings64.csh
, либо csh settings.sh
Вы похоронили это в комментарии:
Переменные среды записываются в settings [32 | 64]. (C) sh в "/opt/Xilinx/14.7/ISE_DS". Чтобы запустить инструменты Xilinx, сначала создайте скрипт настроек: 64-разрядная среда C-shell ...
источник /opt/Xilinx/14.7/ISE_DS/settings64.csh
Это всего лишь часть большего набор неофициальных инструкций , и вы не прочитали все как следует. Далее они говорят:
Shell, оболочка Bash, 64-битная среда Korn Shell .... /opt/Xilinx/14.7/ISE_DS/settings64.sh
Фактические инструкции от самого Xilinx, приведенные в разделе «Установка Linux» руководства по установке, говорят:
1. Перейдите в каталог установки XILINX 2. Введите либоsource settings32. (C) sh
, либоsource settings64.(c) sh
, как требуется для вашей оболочки.
Как видно из вашего вопроса, вы используете оболочку Bourne Again. Таким образом, вы должны получать файл .sh
, а не файл .csh
. Прекратите попытки исправить сценарий Xilinx, который не нуждается в исправлении, и на самом деле запустите правильный сценарий для своей оболочки из набора сценариев для различных оболочек, который предоставляет Xilinx.