Как избежать зарезервированного символа в командной строке или сценарии оболочки в Linux?

Давайте сделаем это. В /etc/vsftpd.confдобавьте или раскомментируйте эти:

anon_mkdir_write_enable=YES

Затем,systemctl restart vsftpd

1
17.11.2020, 16:58
1 ответ

Это не имеет ничего общего с экранированием символа !.

Оболочка kshреализует некоторые расширенные шаблоны подстановок, и !(...|...|...)является одним из них. Шаблон соответствует всему, что не соответствует ни одному из шаблонов в скобках.

Некоторые оболочки могут использовать kshподстановочные шаблоны. Например, установка параметра оболочки extglobв оболочке bash(shopt -s extglob)включает их, как и установка параметра оболочки KSH_GLOBв оболочке zsh(setopt KSH_GLOB).

Оболочка, которую использует ваш привилегированный пользователь, очевидно, не позволяет использовать шаблоны подстановки ksh, и неясно, способна ли она вообще (например, dashоболочка не имеет этого способность ). Обычный пользователь, с другой стороны, по-видимому, включил эти шаблоны по умолчанию, либо запустив реальную kshоболочку, либо явно включив правильную опцию оболочки в файле инициализации оболочки, либо используя какую-то третью -оболочку. ] party, которое по умолчанию включает опцию оболочки.

2
18.03.2021, 22:49

Теги

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