Существует ли способ передачи конфиденциальных данных в bash с помощью подсказки для любой команды?

Вы не можете заставить удаленного клиента попытаться аутентифицироваться, потому что вы не знаете, пока RCPT TO: клиент пытается доставить электронное письмо на ваш сервер (который не требует аутентификации, если у вас нет очень необычной конфигурации, например, прием почты только с известных почтовых серверов), или он пытается ретранслировать через ваш почтовый сервер без авторизации.

Этап RCPT TO сеанса SMTP наступает сразу после любого согласования AUTH (если таковое имеется).

-1
21.08.2018, 03:48
2 ответа

Шаблоны подстановки имен файлов и регулярные выражения в некоторой степени перекрывают синтаксис, но работают принципиально по-разному.

Регулярное выражение eбудет соответствовать (в )строке hello, а шаблон подстановки имени файла e— нет. Шаблоны подстановки неявно привязаны, поэтому шаблон подстановки eбудет эквивалентен регулярному выражению, выглядящему примерно как ^e$, но их применение может быть другим (регулярное выражение будет соответствовать полной строке в тексте, тогда как шаблон глобуса обычно соответствует одному имени файла ).

Шаблоны подстановки имен файлов также не содержат никаких специальных символов, уточняющих предыдущее выражение, таких как *или ?в регулярном выражении, или каких-либо средств для группировки частей выражений, как это делает (...)в регулярном выражении. выражения или чередовать возможные вложенные шаблоны -, как это делает |в регулярном выражении. Некоторые оболочки, очевидно, добавляют что-то из этого, как, например, bashс включенным shopt -s extglob.

Подстановочные шаблоны используются не так, как регулярные выражения.Регулярные выражения в основном используются для выбора/сопоставления строк из текстов, тогда как шаблоны подстановки имен файлов в основном (, но не исключительно )используются для сопоставления имен файлов или создания списков существующих имен из каталога.. Шаблоны подстановки используются для сопоставления строк , например. case... esac, но оболочка POSIX никогда не использует регулярные выражения для создания списков имен из каталога, если не расширена с этой возможностью.

Оба типа шаблонов определены стандартом POSIX:

Что касается шаблонов подстановки, стандарт начинается со слов

The pattern matching notation described in this section is used to specify patterns for matching strings in the shell. Historically, pattern matching notation is related to, but slightly different from, the regular expression notation described in XBD Regular Expressions. For this reason, the description of the rules for this pattern matching notation are based on the description of regular expression notation, modified to account for the differences.

Существует несколько «диалектов» регулярных выражений, таких как упомянутый вами PCRE, но нельзя сказать, что шаблоны подстановки имен файлов являются одним из них.

Существует несколько языков шаблонов, похожих на шаблоны подстановки имен файлов в оболочке, например шаблоны, используемые в SQL-запросах с LIKE. Все они довольно просты и обычно предоставляются как удобный способ сопоставления битов строк. Регулярные выражения, по сравнению с ними, намного сложнее.


Вы упоминаете "bashрегулярные выражения". Оболочка bashподдерживает регулярные выражения, но не для сопоставления имен файлов. В [[... ]]оператор =~выполняет сопоставление регулярного выражения строки в левой части с регулярным выражением в правой части. Тип регулярных выражений, который оболочка bashподдерживает таким образом, представляет собой стандартный расширенный набор регулярных выражений.Дополнительную информацию об этом см. в руководстве bashк вашей системе.

3
28.01.2020, 05:06

Подстановочные знаки и регулярные выражения — это два разных языка шаблонов. Тот факт, что в семантике некоторых паттернов есть некоторое совпадение, не означает, что один обязательно является «диалектом» другого. Все, кто использовал оба, признают сходство, но сохранение различий в именах снижает вероятность путаницы.

В связи с этим я нахожу прискорбным, что так много типов регулярных выражений (, по крайней мере, основных, расширенных и Perl с вариациями )имеют очень похожие имена. По моему опыту, большинство людей не уточняют, что они имеют в виду, что иногда вызывает ненужную путаницу. Если бы этим вкусам дали более отчетливые названия, возможно, было бы легче говорить о них без недоразумений.

2
28.01.2020, 05:06

Теги

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