Как мне присвоить свойству dbus отрицательное значение с помощью busctl?

#linux #systemd #dbus

#linux #systemd #dbus

Вопрос:

Я пытаюсь использовать busctl для присвоения свойству типа double отрицательного значения. Положительные значения в порядке:

 busctl set-property com.acme.foo /com/acme/foo com.acme.foo.Interface inflation d 1.0
 

но попытка изменить это на отрицательное значение выдает следующую ошибку:

 busctl set-property com.acme.foo /com/acme/foo com.acme.foo.Interface inflation d -1.0
busctl: invalid option -- '1'
 

Я пробовал очевидные вещи, такие как заключение -1.0 в одинарные, двойные кавычки или использование обратной косой черты, чтобы избежать - . Есть -- вариант, но это, похоже, не имеет никакого эффекта.

Ответ №1:

busctl -- set-property com.acme.foo /com/acme/foo com.acme.foo.Interface inflation d -1.0

Параметр — сообщает busctl, что все, что после —, не является опцией. Как и многие инструменты unix, busctl использует optarg для синтаксического анализа командной строки. Подробнее man optarg об этом см..

Комментарии:

1. На месте. Спасибо!