Проблема в том, что вам не хватает литерала $
в вашем использовании eval
. После замены переменной оцениваемая команда будет
echo KW0_TEXT
но ты хочешь
echo $KW0_TEXT
Так и должно быть:
eval echo '$'${str}_TEXT
Однако метод косвенных переменных Джеффа Шаллера предпочтительнее, если вы используете оболочку, которая его поддерживает.
Сделал рабочий пример:
https://github.com/sezanzeb/systemd-pydbus-example
В итоге файл /usr/share/dbus-1/system-services/org.manjaro.pamac.daemon.service
мне не понадобился.