Почему «cat {foo}» выводит не foo, а «cat {foo, bar}»?

Просто обновляю это для людей, которые все еще ищут. У меня возникли проблемы с изменением строки сервера в заголовке HTTP. Этот совет должен работать для дистрибутивов ветки Debian с systemd и Apache 2.4.7. В частности, я использую Ubuntu Server LTS 14.04.03. Я нашел совет, который нужно сделать

grep -Ri servertokens /etc/apache2

. Это привело меня к /etc/apache2/conf-available/security.conf, где были указаны как ServerTokens, так и ServerSignature. Следовательно, любые изменения, которые я вносил в /etc/apache2/apache2.conf, перезаписывались директивами, уже указанными в security.conf.

Я просто изменил директивы в security.conf, и Apache начал работать так, как я хотел.

ServerTokens Prod
ServerSignature Off

Что касается заголовка unset Server, я нашел отчет об ошибке, в котором разработчики Apache заявили, что это проблема, которая не будет исправлена. По-видимому, для них это философский вопрос, несмотря на то, что в спецификации HTTP / 1.1, RFC 2616, частично написанной Тимом Бернерсом-Ли, говорится, что тег сервера является необязательным.

Я действительно хотел установить для тега сервера значение «Неизвестно», чтобы сделать наши сканы Qualys удовлетворительными. Итак, я установил mod_security, теперь называемый libapache2-modsecurity, следуя этому руководству DigitalOcean . Удачи, надеюсь, я помог всем вам, будущим читателям.

12
20.05.2018, 06:00
3 ответа

{subfolder1} se evalúa como {subfolder1}, ya que no hay alternativas. Utilice subfolder1en su lugar.

21
27.01.2020, 19:54

Por definición, la expansión de llaves en GNU Bash requiere una expresión de secuencia o una serie de valores separados por comas -:

Patterns to be brace expanded take the form of an optional preamble, followed by either a series of comma-separated strings or a sequence expression between a pair of braces, followed by an optional postscript.

Puede leer el manual para obtener más detalles.

Algunas muestras simples:

echo {subfolder1}
{subfolder1}

echo {subfolder1,subfolder2}
subfolder1 subfolder2

echo subfolder{1}
subfolder{1}

echo subfolder{1..2}
subfolder1 subfolder2
22
27.01.2020, 19:54

Las llaves solo se expandirán si tienen cadenas separadas por comas, por ej. {abc,def} o rango, por ej. {a..e} especificado entre ellos.

En su caso, puede escribir la subcarpeta 1 sin encerrarla entre llaves, ya que no es necesario

cat./{mainfolder1,mainfolder2,mainfolder3}/subfolder1/book.txt > out$var
1
27.01.2020, 19:54

Теги

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