find -внедрение кода exec cat {}

В системах, которые я использую, есть две системы сценариев, которые запускаются каждый раз, когда DHCP-клиент продлевает аренду. Они расположены в /etc/dhcp/dhclient-enter-hooks.d/...и в /etc/dhcp/dhclient-exit-hooks.d/.... Они могут быть в другом месте, в зависимости от вашего варианта Linux. Вы можете добавить туда сценарии, которые будут выполняться каждый раз при продлении аренды, и эти сценарии будут иметь доступ ко всем парам ключ/значение, отправляемым DHCP-сервером, в виде переменных оболочки. То, что вы делаете с ними в своем крючковом скрипте (и ), широко открыто. Я предполагаю, что вы используете инструменты DHCP, совместимые с ISC DHCP. Если нет, возможно, вы можете рассмотреть возможность перехода на это. Они документируют, как сценарии клиентских ловушек могут получить параметры, отправленные с DHCP-сервера, и приводят несколько полезных примеров.

1
27.09.2020, 18:27
1 ответ

Во многих оболочках фигурные скобки начинают раскрытие скобок. Но sh -совместимые снаряды, Zsh и (t )csh по-прежнему оставляют равнину {}в покое. Однако, по крайней мере, оболочка рыбы этого не делает, она удаляет {}без кавычек и, например. echo {}выводит только пустую строку. Это нарушило бы команду find, использующую {}, поэтому вам нужно заключить фигурные скобки в кавычки.

Дело не в том, что имя файла обрабатывается для расширений оболочки после того, как findзаполняет его. В этот момент оболочка не задействована, если вы не вызываете ее явно.

0
18.03.2021, 23:02

Теги

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