Разрешение комментариев в интерактивных командах zsh

проблема в пакете pa-applet. Я удалил его, и значок исчез.

3
16.12.2019, 15:20
1 ответ
$ setopt interactive_comments
$ echo hello # comment
hello

Оболочка zshвключает параметр оболочки interactive_commentsпо умолчанию в сценариях, (не -интерактивных оболочках в целом ), но не при запуске интерактивного сеанса.

Соответствующий бит из руководства zsh:

COMMENTS
       In non-interactive shells, or in interactive shells with the
       INTERACTIVE_COMMENTS option set, a word beginning with the third
       character of the histchars parameter (`#' by default) causes that word
       and all the following characters up to a newline to be ignored.

Если этот параметр оболочки не установлен, вы получите сообщение об ошибке bad pattern, только если установлен параметр оболочки extended_glob. С установленным extended_globx#будет соответствовать нулю или более шаблону x, а x##будет соответствовать одному или нескольким шаблонам x(, которые соответствуют модификаторам регулярных выражений *и+). Это означает, что с установленным extended_globи неустановленным interactive_commentsоболочка жалуется на синтаксис, используемый в расширенном модификаторе шаблона подстановки имени файла, который вы использовали по незнанию.


Значения в histcharsпо умолчанию равны !^#, и первые два символа используются в расширении истории.

Поскольку комментарии в zshограничены $histchars[3], изменение этого символа изменит текст, который считается комментарием:

$ setopt extended_glob
$ echo hello # hello : hello
zsh: bad pattern: #
$ unsetopt extended_glob
$ echo hello # hello : hello
hello # hello : hello
$ setopt interactive_comments
$ echo hello # hello : hello
hello
$ histchars[3]=:
$ echo hello # hello : hello
hello # hello

Интересно (? ), оболочка bashтакже имеет опцию оболочки interactive_comments, но она включена по умолчанию в интерактивных оболочках:

$ echo hello # hello
hello
$ shopt -u interactive_comments
$ echo hello # hello
hello # hello
18
27.01.2020, 21:10

Теги

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