Как запустить приложение qtdbus от имени systemd?

Я удивлен, что никто не предложил использовать массивы. Вот моя грубая попытка (с использованием идеи log3.txtот @Stephane выше.

#!/bin/bash

nl1=$( wc -l < log1.txt )
nl2=$( wc -l < log2.txt )
nlnums=$( wc -l < nums.txt )

declare -a arr1[$nl1]
declare -a arr2[$nl2]
declare -a nums[$nlnums]

for (( i=0; i < $nl1; i++ ))
do
    read arr1[$i]
done < log1.txt

for (( i=0; i < $nl2; i++ ))
do
    read arr2[$i]
done < log2.txt

for (( i=0; i < $nlnums; i++ ))
do
    read nums[$i]
done < nums.txt

j=0
for (( i=0; i < $nl1; i++ ))
do
    echo "The ${nums[$i]} color ${arr1[$i]} is ${arr2[$j]}"
    j=$(( (j+1) % $nl2 ))
done

Файл nums.txtвыглядит следующим образом:

first
second
third
fourth
fifth
sixth
seventh
eighth
ninth
tenth

Код нужно немного почистить, но он иллюстрирует суть.

0
04.12.2020, 02:49
1 ответ

нашел ответ.

Проблема заключалась в том, чтобы внедрить сервис в системную область.

Было обнаружено, что qtbusобменивается данными в области пользователя.

Таким образом, если служба создается в области пользователя systemd, можно подтвердить, что она работает нормально без подключения к службе dbus.

0
18.03.2021, 22:45

Теги

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