gnome-keyring-daemon предупреждения

foo=$bar

является безопасным , потому что это присваивание и присваивание скалярной переменной с использованием синтаксиса скалярного присваивания. Это скалярный контекст , в $varможет храниться только одно значение, не имеет смысла разбивать или объединять $bar. Если в результате раскрытия получилось несколько слов, оболочке нужно было каким-то образом снова их объединить, чтобы иметь возможность сохранить их как одну строку в $foo.

Другое дело, когда вы используете:

foo=($bar)

Где вы присваиваете значение переменной массива. Там это контекст списка. Вы назначаете ряд слов элементам массива. происходит расщепление+глобус.

Также остерегайтесь двойной -природы таких вещей, как export/ local/ typeset/ declare/ readonlyв некоторых оболочках (более подробно объяснено в Являются кавычками необходимо для назначения локальной переменной?)

Вы заметите, что:

foo=$bar

анализируется как присвоение, а

"foo"=$bar

— это просто попытка запустить команду foo=content_of_bar(, в которой содержимое bar подлежит разделению + подстановке ).

В оболочках, гдеexport(и другие local/typeset... )являются ключевыми словами и встроенными (ksh, bash и последними версиями zsh ), в:

export foo=$bar

exportраспознается как ключевое слово , а foo=$barкак присваивание, поэтому $barне подлежит разделению+подстановке. Но нужно совсем немного, чтобы exportперестало распознаваться как ключевое слово . В этом случае он просто обрабатывается как простая команда, а split+glob происходит так же, как и любой аргумент любой другой команды.

И даже в тех случаях, когда exportрассматривается как ключевое слово, если аргументы не выглядят как присвоения переменных (, как в "foo"=$barвыше ), они обрабатываются как обычные аргументы. и снова подлежит split+glob.

1
11.11.2019, 18:08
1 ответ

Если вы используете NextCloud, то существует отчет об ошибке для спам-сообщений журнала, которые вы описываете. Я также получаю их на своем рабочем столе Fedora 29 Cinnamon. С клиентом nextcloud --2.6.1 -1.fc29.x86 _64.

Похоже, что это исправлено на Nextcloud (по состоянию на 7 декабря 2019 года ), поэтому мы, использующие Fedora, просто ждем выпуска пакета.

По-видимому, версия 2.6.0 клиента не демонстрирует такого поведения. И они подтверждают, что в v2.6.2 есть исправление.

0
27.01.2020, 23:57

Теги

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