Создание пустого файла, имеющего имя переменной в сценарии

Можно использовать IPTABLES для остановки движения, не выполняя демона как Fail2Ban или DenyHosts.

#  Allows SSH connections (only 4 attempts by an IP every 3 minutes, drop the rest to prevent SSH attacks)
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

3
02.04.2011, 00:23
2 ответа

Синтаксис был бы:

filename="${file}_END"

или в Вашем коде

touch "${file}_END"

" кавычки не необходимы пока $file не имеет никакого пробела или globbing символа в нем.

9
27.01.2020, 21:10
  • 1
    Всегда помещайте двойные кавычки вокруг подстановок переменных, если Вы не знаете о необходимости в полевом разделении и расширении пути. Это - более простой и более безопасный подход, чем попытка выяснить, строго ли они необходимы. –  Gilles 'SO- stop being evil' 02.04.2011, 00:21

интерпретатор команд думает, что Вы имеете в виду $file_END (значение переменной, названной file_END). можно работать вокруг этого путем заключения в кавычки. Синтаксис мог быть:

filename="$file""_END"

или

filename="$file"_END

или даже

filename=$file"_END"

хотя я предпочитаю первый для ясности!

1
27.01.2020, 21:10
  • 1
    , который я рассматриваю "${file}_END" более ясный все еще. –  glenn jackman 01.04.2011, 18:01

Теги

Похожие вопросы